{"action":"created","comment":{"url":"https://api.github.com/repos/knrdkos/parking-manager/pulls/comments/157148796","pull_request_review_id":83736625,"id":157148796,"diff_hunk":"@@ -0,0 +1,322 @@\n+package tech.kostrzewa.driver;\n+\n+import org.junit.After;\n+import org.junit.Test;\n+import org.springframework.beans.factory.annotation.Autowired;\n+import org.springframework.http.MediaType;\n+import org.springframework.test.web.servlet.ResultActions;\n+import tech.kostrzewa.BaseMvcTest;\n+import tech.kostrzewa.owner.Owner;\n+import tech.kostrzewa.owner.OwnerRepository;\n+import tech.kostrzewa.parkometer.Parkometer;\n+import tech.kostrzewa.parkometer.ParkometerRepository;\n+\n+import java.time.LocalDateTime;\n+import java.util.ArrayList;\n+import java.util.List;\n+\n+import static org.hamcrest.CoreMatchers.is;\n+import static org.junit.Assert.assertEquals;\n+import static org.junit.Assert.assertNotNull;\n+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;\n+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;\n+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;\n+import static tech.kostrzewa.driver.Driver.DriverType;\n+\n+public class DriverControllerTest extends BaseMvcTest {\n+    @Autowired private DriverRepository driverRepository;\n+    @Autowired private ParkometerRepository parkometerRepository;\n+    @Autowired private OwnerRepository ownerRepository;\n+\n+    @Test\n+    public void testStartingTimeWithWrongParkometerShouldFail() throws Exception {\n+        //given\n+        DriverDTO driverDTO = defaultStartDriver();\n+\n+        //when\n+        final ResultActions resultActions = mvc.perform(\n+                post(\"/drivers/start\").contentType(MediaType.APPLICATION_JSON_UTF8)\n+                        .content(mapper.writeValueAsBytes(driverDTO)));\n+\n+\n+        //then\n+        resultActions\n+                .andExpect(status().is4xxClientError())\n+                .andExpect(content()\n+                        .contentTypeCompatibleWith(MediaType.APPLICATION_JSON))\n+                .andExpect(jsonPath(\"$.errorCode\", is(\"Parkometer not existing\")));\n+    }\n+\n+    @Test\n+    public void testStartingTimeWithAlreadyParkingDriverShouldFail() throws Exception {\n+        //given\n+        final Parkometer defaultParkometer = defaultParkometer();\n+        parkometerRepository.save(defaultParkometer);\n+        final Parkometer dbParkometer = parkometerRepository.getOne(defaultParkometer.getId());\n+\n+        DriverDTO driverDTO = defaultStartDriver();\n+        driverRepository.save(DriverFactory.of(driverDTO, dbParkometer));\n+\n+        //when\n+        final ResultActions resultActions = mvc.perform(\n+                post(\"/drivers/start\").contentType(MediaType.APPLICATION_JSON_UTF8)\n+                        .content(mapper.writeValueAsBytes(driverDTO)));\n+\n+\n+        //then\n+        resultActions\n+                .andExpect(status().is4xxClientError())\n+                .andExpect(content()\n+                        .contentTypeCompatibleWith(MediaType.APPLICATION_JSON))\n+                .andExpect(jsonPath(\"$.errorCode\", is(\"Driver is already parking\")));\n+    }\n+\n+    @Test\n+    public void testStartingTimeWithOkParkometerShouldPass() throws Exception {\n+        //given\n+        parkometerRepository.save(defaultParkometer());\n+        DriverDTO driverDTO = defaultStartDriver();\n+\n+        //when\n+        final ResultActions resultActions = mvc.perform(\n+                post(\"/drivers/start\").contentType(MediaType.APPLICATION_JSON_UTF8)\n+                        .content(mapper.writeValueAsBytes(driverDTO)));\n+\n+\n+        //then\n+        resultActions\n+                .andExpect(status().isOk());\n+    }\n+\n+\n+    @Test\n+    public void testStartingTimeWithTimeFieldShouldAddDbEntry() throws Exception {\n+        //given\n+        parkometerRepository.save(defaultParkometer());\n+        DriverDTO driverDTO = defaultStartDriver();\n+\n+\n+        //when\n+        mvc.perform(\n+                post(\"/drivers/start\").contentType(MediaType.APPLICATION_JSON_UTF8)\n+                        .content(mapper.writeValueAsBytes(driverDTO)));\n+\n+        //then\n+        Driver driver = driverRepository.findOne(driverDTO.getLicense());\n+        assertEquals(driverDTO.getTime(), driver.getParkingTime().getStartTime());\n+    }\n+\n+    @Test\n+    public void testStartingTimeWithNoTimeFieldShouldAddDbEntry() throws Exception {\n+        //given\n+        parkometerRepository.save(defaultParkometer());\n+        DriverDTO driverDTO = defaultStartDriver();\n+        defaultStartDriver().setTime(null);\n+\n+\n+        //when\n+        mvc.perform(\n+                post(\"/drivers/start\").contentType(MediaType.APPLICATION_JSON_UTF8)\n+                        .content(mapper.writeValueAsBytes(driverDTO)));\n+\n+        //then\n+        Driver driver = driverRepository.findOne(driverDTO.getLicense());\n+        assertNotNull(driver.getParkingTime().getStartTime());\n+    }\n+\n+    @Test\n+    public void testStoppingTimeWithoutParkometerShouldFail() throws Exception {\n+        //given\n+        DriverDTO driverDTO = defaultStopDriver();\n+\n+        //when\n+        final ResultActions resultActions = mvc.perform(\n+                post(\"/drivers/stop\").contentType(MediaType.APPLICATION_JSON_UTF8)\n+                        .content(mapper.writeValueAsBytes(driverDTO)));\n+\n+\n+        //then\n+        resultActions\n+                .andExpect(status().is4xxClientError())\n+                .andExpect(content()\n+                        .contentTypeCompatibleWith(MediaType.APPLICATION_JSON))\n+                .andExpect(jsonPath(\"$.errorCode\", is(\"Parkometer not existing\")));\n+    }\n+\n+    @Test\n+    public void testStoppingTimeWithNotExistingDriverShouldFail() throws Exception {\n+        //given\n+        parkometerRepository.save(defaultParkometer());\n+        DriverDTO driverDTO = defaultStopDriver();\n+\n+        //when\n+        final ResultActions resultActions = mvc.perform(\n+                post(\"/drivers/stop\").contentType(MediaType.APPLICATION_JSON_UTF8)\n+                        .content(mapper.writeValueAsBytes(driverDTO)));\n+\n+\n+        //then\n+        resultActions\n+                .andExpect(status().is4xxClientError())\n+                .andExpect(content()\n+                        .contentTypeCompatibleWith(MediaType.APPLICATION_JSON))\n+                .andExpect(jsonPath(\"$.errorCode\", is(\"Driver is not in the database\")));\n+\n+    }\n+\n+    @Test\n+    public void testStoppingTimeWithDriverNotParkingUnderSelectedParkometerShouldFail() throws Exception {\n+        //given\n+        final String someOtherParkometer = \"SomeOtherParkometer\";\n+\n+        final Parkometer defaultParkometer = defaultParkometer();\n+        parkometerRepository.save(defaultParkometer);\n+        parkometerRepository.save(new Parkometer(someOtherParkometer));\n+\n+        DriverDTO driverDb = defaultStartDriver();\n+        final Parkometer dbParkometer = parkometerRepository.findOne(defaultParkometer.getId());\n+        driverRepository.save(DriverFactory.of(driverDb, dbParkometer));\n+\n+        DriverDTO driverDTO = defaultStopDriver();\n+        driverDTO.setParkometerId(someOtherParkometer);\n+\n+\n+        //when\n+        final ResultActions resultActions = mvc.perform(\n+                post(\"/drivers/stop\").contentType(MediaType.APPLICATION_JSON_UTF8)\n+                        .content(mapper.writeValueAsBytes(driverDTO)));\n+\n+\n+        //then\n+        resultActions\n+                .andExpect(status().is4xxClientError())\n+                .andExpect(content()\n+                        .contentTypeCompatibleWith(MediaType.APPLICATION_JSON))\n+                .andExpect(jsonPath(\"$.errorCode\", is(\"Driver is not parking under selected parkometer\")));\n+\n+    }\n+\n+    @Test\n+    public void testStoppingTimeShouldReturnCostAndDeleteDriver() throws Exception {\n+        //given\n+        final Parkometer defaultParkometer = defaultParkometer();\n+        parkometerRepository.save(defaultParkometer);\n+\n+        final List<Parkometer> ownerParkometers = new ArrayList<>();\n+        Parkometer dbParkometer = parkometerRepository.findOne(defaultParkometer.getId());\n+        final Owner owner = new Owner(\"SomeOwner\", ownerParkometers, new ArrayList<>());\n+        ownerParkometers.add(dbParkometer);\n+        dbParkometer.setOwner(owner);\n+        ownerRepository.save(owner);\n+        parkometerRepository.save(dbParkometer);\n+\n+        DriverDTO driverDb = defaultStartDriver();\n+        dbParkometer = parkometerRepository.findOne(defaultParkometer.getId());\n+        driverRepository.save(DriverFactory.of(driverDb, dbParkometer));\n+\n+        DriverDTO driverDTO = defaultStopDriver();\n+\n+        //when\n+        final ResultActions resultActions = mvc.perform(\n+                post(\"/drivers/stop\").contentType(MediaType.APPLICATION_JSON_UTF8)\n+                        .content(mapper.writeValueAsBytes(driverDTO)));\n+\n+        //then\n+        resultActions\n+                .andExpect(status().isOk())\n+                .andExpect(content()\n+                        .contentTypeCompatibleWith(MediaType.APPLICATION_JSON))\n+                .andExpect(jsonPath(\"$.currency\", is(\"PL\")))\n+                .andExpect(jsonPath(\"$.amount\", is(3)));\n+\n+        assertEquals(0, driverRepository.count());\n+    }\n+\n+    @Test\n+    public void testStoppingTimeWhenEndTimeIsBeforeStartTimeShouldFail() throws Exception {\n+        //given\n+        final Parkometer defaultParkometer = defaultParkometer();\n+        parkometerRepository.save(defaultParkometer);\n+\n+        DriverDTO driverDb = defaultStopDriver();\n+        final Parkometer dbParkometer = parkometerRepository.findOne(defaultParkometer.getId());\n+        driverRepository.save(DriverFactory.of(driverDb, dbParkometer));\n+\n+        DriverDTO driverDTO = defaultStartDriver();\n+\n+        //when\n+        final ResultActions resultActions = mvc.perform(\n+                post(\"/drivers/stop\").contentType(MediaType.APPLICATION_JSON_UTF8)\n+                        .content(mapper.writeValueAsBytes(driverDTO)));\n+\n+        //then\n+        resultActions\n+                .andExpect(status().is4xxClientError())\n+                .andExpect(content()\n+                        .contentTypeCompatibleWith(MediaType.APPLICATION_JSON))\n+                .andExpect(jsonPath(\"$.errorCode\", is(\"Time travel is not supported\")));\n+    }\n+\n+    @Test\n+    public void testShouldReturnCostForRegular() throws Exception {\n+        //given\n+        //when-then\n+        mvc.perform(get(\"/drivers/Regular/1\"))\n+                .andExpect(status().isOk())\n+                .andExpect(jsonPath(\"$.currency\", is(\"PL\")))\n+                .andExpect(jsonPath(\"$.amount\", is(1)));\n+\n+        mvc.perform(get(\"/drivers/Regular/2\"))\n+                .andExpect(status().isOk())\n+                .andExpect(jsonPath(\"$.currency\", is(\"PL\")))\n+                .andExpect(jsonPath(\"$.amount\", is(3)));\n+\n+        mvc.perform(get(\"/drivers/Regular/3\"))\n+                .andExpect(status().isOk())\n+                .andExpect(jsonPath(\"$.currency\", is(\"PL\")))\n+                .andExpect(jsonPath(\"$.amount\", is(7)));\n+    }\n+\n+    @Test\n+    public void testShouldReturnCostForVip() throws Exception {\n+        //given\n+        //when-then\n+        mvc.perform(get(\"/drivers/VIP/1\"))\n+                .andExpect(status().isOk())\n+                .andExpect(jsonPath(\"$.currency\", is(\"PL\")))\n+                .andExpect(jsonPath(\"$.amount\", is(0)));\n+\n+        mvc.perform(get(\"/drivers/VIP/2\"))\n+                .andExpect(status().isOk())\n+                .andExpect(jsonPath(\"$.currency\", is(\"PL\")))\n+                .andExpect(jsonPath(\"$.amount\", is(2)));\n+\n+        mvc.perform(get(\"/drivers/VIP/3\"))","path":"src/test/java/tech/kostrzewa/driver/DriverControllerTest.java","position":294,"original_position":294,"commit_id":"138436292a5570ba3669bc569eff024a05bd4c12","original_commit_id":"138436292a5570ba3669bc569eff024a05bd4c12","user":{"login":"alien11689","id":2748791,"avatar_url":"https://avatars0.githubusercontent.com/u/2748791?v=4","gravatar_id":"","url":"https://api.github.com/users/alien11689","html_url":"https://github.com/alien11689","followers_url":"https://api.github.com/users/alien11689/followers","following_url":"https://api.github.com/users/alien11689/following{/other_user}","gists_url":"https://api.github.com/users/alien11689/gists{/gist_id}","starred_url":"https://api.github.com/users/alien11689/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alien11689/subscriptions","organizations_url":"https://api.github.com/users/alien11689/orgs","repos_url":"https://api.github.com/users/alien11689/repos","events_url":"https://api.github.com/users/alien11689/events{/privacy}","received_events_url":"https://api.github.com/users/alien11689/received_events","type":"User","site_admin":false},"body":"3 testy","created_at":"2017-12-15T08:53:24Z","updated_at":"2017-12-15T08:55:56Z","html_url":"https://github.com/knrdkos/parking-manager/pull/1#discussion_r157148796","pull_request_url":"https://api.github.com/repos/knrdkos/parking-manager/pulls/1","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/knrdkos/parking-manager/pulls/comments/157148796"},"html":{"href":"https://github.com/knrdkos/parking-manager/pull/1#discussion_r157148796"},"pull_request":{"href":"https://api.github.com/repos/knrdkos/parking-manager/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/knrdkos/parking-manager/pulls/1","id":158357333,"html_url":"https://github.com/knrdkos/parking-manager/pull/1","diff_url":"https://github.com/knrdkos/parking-manager/pull/1.diff","patch_url":"https://github.com/knrdkos/parking-manager/pull/1.patch","issue_url":"https://api.github.com/repos/knrdkos/parking-manager/issues/1","number":1,"state":"open","locked":false,"title":"code","user":{"login":"knrdkos","id":24359452,"avatar_url":"https://avatars2.githubusercontent.com/u/24359452?v=4","gravatar_id":"","url":"https://api.github.com/users/knrdkos","html_url":"https://github.com/knrdkos","followers_url":"https://api.github.com/users/knrdkos/followers","following_url":"https://api.github.com/users/knrdkos/following{/other_user}","gists_url":"https://api.github.com/users/knrdkos/gists{/gist_id}","starred_url":"https://api.github.com/users/knrdkos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/knrdkos/subscriptions","organizations_url":"https://api.github.com/users/knrdkos/orgs","repos_url":"https://api.github.com/users/knrdkos/repos","events_url":"https://api.github.com/users/knrdkos/events{/privacy}","received_events_url":"https://api.github.com/users/knrdkos/received_events","type":"User","site_admin":false},"body":"","created_at":"2017-12-14T13:29:29Z","updated_at":"2017-12-15T08:55:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":"318b910ee83be30ae2223cdb813df49a5cab9fe9","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/knrdkos/parking-manager/pulls/1/commits","review_comments_url":"https://api.github.com/repos/knrdkos/parking-manager/pulls/1/comments","review_comment_url":"https://api.github.com/repos/knrdkos/parking-manager/pulls/comments{/number}","comments_url":"https://api.github.com/repos/knrdkos/parking-manager/issues/1/comments","statuses_url":"https://api.github.com/repos/knrdkos/parking-manager/statuses/138436292a5570ba3669bc569eff024a05bd4c12","head":{"label":"knrdkos:code","ref":"code","sha":"138436292a5570ba3669bc569eff024a05bd4c12","user":{"login":"knrdkos","id":24359452,"avatar_url":"https://avatars2.githubusercontent.com/u/24359452?v=4","gravatar_id":"","url":"https://api.github.com/users/knrdkos","html_url":"https://github.com/knrdkos","followers_url":"https://api.github.com/users/knrdkos/followers","following_url":"https://api.github.com/users/knrdkos/following{/other_user}","gists_url":"https://api.github.com/users/knrdkos/gists{/gist_id}","starred_url":"https://api.github.com/users/knrdkos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/knrdkos/subscriptions","organizations_url":"https://api.github.com/users/knrdkos/orgs","repos_url":"https://api.github.com/users/knrdkos/repos","events_url":"https://api.github.com/users/knrdkos/events{/privacy}","received_events_url":"https://api.github.com/users/knrdkos/received_events","type":"User","site_admin":false},"repo":{"id":114253792,"name":"parking-manager","full_name":"knrdkos/parking-manager","owner":{"login":"knrdkos","id":24359452,"avatar_url":"https://avatars2.githubusercontent.com/u/24359452?v=4","gravatar_id":"","url":"https://api.github.com/users/knrdkos","html_url":"https://github.com/knrdkos","followers_url":"https://api.github.com/users/knrdkos/followers","following_url":"https://api.github.com/users/knrdkos/following{/other_user}","gists_url":"https://api.github.com/users/knrdkos/gists{/gist_id}","starred_url":"https://api.github.com/users/knrdkos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/knrdkos/subscriptions","organizations_url":"https://api.github.com/users/knrdkos/orgs","repos_url":"https://api.github.com/users/knrdkos/repos","events_url":"https://api.github.com/users/knrdkos/events{/privacy}","received_events_url":"https://api.github.com/users/knrdkos/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/knrdkos/parking-manager","description":null,"fork":false,"url":"https://api.github.com/repos/knrdkos/parking-manager","forks_url":"https://api.github.com/repos/knrdkos/parking-manager/forks","keys_url":"https://api.github.com/repos/knrdkos/parking-manager/keys{/key_id}","collaborators_url":"https://api.github.com/repos/knrdkos/parking-manager/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/knrdkos/parking-manager/teams","hooks_url":"https://api.github.com/repos/knrdkos/parking-manager/hooks","issue_events_url":"https://api.github.com/repos/knrdkos/parking-manager/issues/events{/number}","events_url":"https://api.github.com/repos/knrdkos/parking-manager/events","assignees_url":"https://api.github.com/repos/knrdkos/parking-manager/assignees{/user}","branches_url":"https://api.github.com/repos/knrdkos/parking-manager/branches{/branch}","tags_url":"https://api.github.com/repos/knrdkos/parking-manager/tags","blobs_url":"https://api.github.com/repos/knrdkos/parking-manager/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/knrdkos/parking-manager/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/knrdkos/parking-manager/git/refs{/sha}","trees_url":"https://api.github.com/repos/knrdkos/parking-manager/git/trees{/sha}","statuses_url":"https://api.github.com/repos/knrdkos/parking-manager/statuses/{sha}","languages_url":"https://api.github.com/repos/knrdkos/parking-manager/languages","stargazers_url":"https://api.github.com/repos/knrdkos/parking-manager/stargazers","contributors_url":"https://api.github.com/repos/knrdkos/parking-manager/contributors","subscribers_url":"https://api.github.com/repos/knrdkos/parking-manager/subscribers","subscription_url":"https://api.github.com/repos/knrdkos/parking-manager/subscription","commits_url":"https://api.github.com/repos/knrdkos/parking-manager/commits{/sha}","git_commits_url":"https://api.github.com/repos/knrdkos/parking-manager/git/commits{/sha}","comments_url":"https://api.github.com/repos/knrdkos/parking-manager/comments{/number}","issue_comment_url":"https://api.github.com/repos/knrdkos/parking-manager/issues/comments{/number}","contents_url":"https://api.github.com/repos/knrdkos/parking-manager/contents/{+path}","compare_url":"https://api.github.com/repos/knrdkos/parking-manager/compare/{base}...{head}","merges_url":"https://api.github.com/repos/knrdkos/parking-manager/merges","archive_url":"https://api.github.com/repos/knrdkos/parking-manager/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/knrdkos/parking-manager/downloads","issues_url":"https://api.github.com/repos/knrdkos/parking-manager/issues{/number}","pulls_url":"https://api.github.com/repos/knrdkos/parking-manager/pulls{/number}","milestones_url":"https://api.github.com/repos/knrdkos/parking-manager/milestones{/number}","notifications_url":"https://api.github.com/repos/knrdkos/parking-manager/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/knrdkos/parking-manager/labels{/name}","releases_url":"https://api.github.com/repos/knrdkos/parking-manager/releases{/id}","deployments_url":"https://api.github.com/repos/knrdkos/parking-manager/deployments","created_at":"2017-12-14T13:26:38Z","updated_at":"2017-12-14T13:26:38Z","pushed_at":"2017-12-14T13:29:29Z","git_url":"git://github.com/knrdkos/parking-manager.git","ssh_url":"git@github.com:knrdkos/parking-manager.git","clone_url":"https://github.com/knrdkos/parking-manager.git","svn_url":"https://github.com/knrdkos/parking-manager","homepage":null,"size":72,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"knrdkos:master","ref":"master","sha":"ed89b821814d32aef045be6916699503b0f0d57b","user":{"login":"knrdkos","id":24359452,"avatar_url":"https://avatars2.githubusercontent.com/u/24359452?v=4","gravatar_id":"","url":"https://api.github.com/users/knrdkos","html_url":"https://github.com/knrdkos","followers_url":"https://api.github.com/users/knrdkos/followers","following_url":"https://api.github.com/users/knrdkos/following{/other_user}","gists_url":"https://api.github.com/users/knrdkos/gists{/gist_id}","starred_url":"https://api.github.com/users/knrdkos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/knrdkos/subscriptions","organizations_url":"https://api.github.com/users/knrdkos/orgs","repos_url":"https://api.github.com/users/knrdkos/repos","events_url":"https://api.github.com/users/knrdkos/events{/privacy}","received_events_url":"https://api.github.com/users/knrdkos/received_events","type":"User","site_admin":false},"repo":{"id":114253792,"name":"parking-manager","full_name":"knrdkos/parking-manager","owner":{"login":"knrdkos","id":24359452,"avatar_url":"https://avatars2.githubusercontent.com/u/24359452?v=4","gravatar_id":"","url":"https://api.github.com/users/knrdkos","html_url":"https://github.com/knrdkos","followers_url":"https://api.github.com/users/knrdkos/followers","following_url":"https://api.github.com/users/knrdkos/following{/other_user}","gists_url":"https://api.github.com/users/knrdkos/gists{/gist_id}","starred_url":"https://api.github.com/users/knrdkos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/knrdkos/subscriptions","organizations_url":"https://api.github.com/users/knrdkos/orgs","repos_url":"https://api.github.com/users/knrdkos/repos","events_url":"https://api.github.com/users/knrdkos/events{/privacy}","received_events_url":"https://api.github.com/users/knrdkos/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/knrdkos/parking-manager","description":null,"fork":false,"url":"https://api.github.com/repos/knrdkos/parking-manager","forks_url":"https://api.github.com/repos/knrdkos/parking-manager/forks","keys_url":"https://api.github.com/repos/knrdkos/parking-manager/keys{/key_id}","collaborators_url":"https://api.github.com/repos/knrdkos/parking-manager/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/knrdkos/parking-manager/teams","hooks_url":"https://api.github.com/repos/knrdkos/parking-manager/hooks","issue_events_url":"https://api.github.com/repos/knrdkos/parking-manager/issues/events{/number}","events_url":"https://api.github.com/repos/knrdkos/parking-manager/events","assignees_url":"https://api.github.com/repos/knrdkos/parking-manager/assignees{/user}","branches_url":"https://api.github.com/repos/knrdkos/parking-manager/branches{/branch}","tags_url":"https://api.github.com/repos/knrdkos/parking-manager/tags","blobs_url":"https://api.github.com/repos/knrdkos/parking-manager/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/knrdkos/parking-manager/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/knrdkos/parking-manager/git/refs{/sha}","trees_url":"https://api.github.com/repos/knrdkos/parking-manager/git/trees{/sha}","statuses_url":"https://api.github.com/repos/knrdkos/parking-manager/statuses/{sha}","languages_url":"https://api.github.com/repos/knrdkos/parking-manager/languages","stargazers_url":"https://api.github.com/repos/knrdkos/parking-manager/stargazers","contributors_url":"https://api.github.com/repos/knrdkos/parking-manager/contributors","subscribers_url":"https://api.github.com/repos/knrdkos/parking-manager/subscribers","subscription_url":"https://api.github.com/repos/knrdkos/parking-manager/subscription","commits_url":"https://api.github.com/repos/knrdkos/parking-manager/commits{/sha}","git_commits_url":"https://api.github.com/repos/knrdkos/parking-manager/git/commits{/sha}","comments_url":"https://api.github.com/repos/knrdkos/parking-manager/comments{/number}","issue_comment_url":"https://api.github.com/repos/knrdkos/parking-manager/issues/comments{/number}","contents_url":"https://api.github.com/repos/knrdkos/parking-manager/contents/{+path}","compare_url":"https://api.github.com/repos/knrdkos/parking-manager/compare/{base}...{head}","merges_url":"https://api.github.com/repos/knrdkos/parking-manager/merges","archive_url":"https://api.github.com/repos/knrdkos/parking-manager/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/knrdkos/parking-manager/downloads","issues_url":"https://api.github.com/repos/knrdkos/parking-manager/issues{/number}","pulls_url":"https://api.github.com/repos/knrdkos/parking-manager/pulls{/number}","milestones_url":"https://api.github.com/repos/knrdkos/parking-manager/milestones{/number}","notifications_url":"https://api.github.com/repos/knrdkos/parking-manager/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/knrdkos/parking-manager/labels{/name}","releases_url":"https://api.github.com/repos/knrdkos/parking-manager/releases{/id}","deployments_url":"https://api.github.com/repos/knrdkos/parking-manager/deployments","created_at":"2017-12-14T13:26:38Z","updated_at":"2017-12-14T13:26:38Z","pushed_at":"2017-12-14T13:29:29Z","git_url":"git://github.com/knrdkos/parking-manager.git","ssh_url":"git@github.com:knrdkos/parking-manager.git","clone_url":"https://github.com/knrdkos/parking-manager.git","svn_url":"https://github.com/knrdkos/parking-manager","homepage":null,"size":72,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/knrdkos/parking-manager/pulls/1"},"html":{"href":"https://github.com/knrdkos/parking-manager/pull/1"},"issue":{"href":"https://api.github.com/repos/knrdkos/parking-manager/issues/1"},"comments":{"href":"https://api.github.com/repos/knrdkos/parking-manager/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/knrdkos/parking-manager/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/knrdkos/parking-manager/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/knrdkos/parking-manager/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/knrdkos/parking-manager/statuses/138436292a5570ba3669bc569eff024a05bd4c12"}},"author_association":"OWNER"}}
{"actor":{"display_login":"alien11689"}}