{"action":"created","comment":{"url":"https://api.github.com/repos/junit-team/junit5/pulls/comments/200808722","pull_request_review_id":135200211,"id":200808722,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMDgwODcyMg==","diff_hunk":"@@ -0,0 +1,131 @@\n+/*\n+ * Copyright 2015-2018 the original author or authors.\n+ *\n+ * All rights reserved. This program and the accompanying materials are\n+ * made available under the terms of the Eclipse Public License v2.0 which\n+ * accompanies this distribution and is available at\n+ *\n+ * http://www.eclipse.org/legal/epl-v20.html\n+ */\n+\n+package org.junit.jupiter.engine.extension;\n+\n+import static org.junit.jupiter.api.Assertions.assertEquals;\n+import static org.junit.jupiter.api.Assertions.fail;\n+\n+import java.util.ArrayList;\n+import java.util.HashMap;\n+import java.util.List;\n+import java.util.Map;\n+import java.util.Optional;\n+\n+import org.junit.jupiter.api.Assumptions;\n+import org.junit.jupiter.api.Disabled;\n+import org.junit.jupiter.api.Nested;\n+import org.junit.jupiter.api.Test;\n+import org.junit.jupiter.api.extension.AfterAllCallback;\n+import org.junit.jupiter.api.extension.ExtendWith;\n+import org.junit.jupiter.api.extension.ExtensionContext;\n+import org.junit.jupiter.api.extension.TestWatcher;\n+import org.junit.jupiter.engine.AbstractJupiterTestEngineTests;\n+import org.junit.platform.engine.test.event.ExecutionEventRecorder;\n+\n+@Disabled\n+public class TestWatcherTests extends AbstractJupiterTestEngineTests {\n+\n+\t@Test\n+\tvoid testWatcherValidityIncludingNestedTest() {\n+\t\tExecutionEventRecorder recorder = executeTestsForClass(nestedTestWatcherTestCase.class);\n+\t\tassertEquals(0, recorder.getContainerFailedCount());\n+\t}\n+\n+\t@ExtendWith(TestResultAggregator.class)\n+\tstatic class nestedTestWatcherTestCase {\n+\n+\t\t@Test\n+\t\tpublic void successfulTest() {\n+\t\t\t//no-op\n+\t\t}\n+\n+\t\t@Test\n+\t\tpublic void failedTest() {\n+\t\t\tfail(\"Must fail\");\n+\t\t}\n+\n+\t\t@Test\n+\t\tpublic void abortedTest() {\n+\t\t\tAssumptions.assumeTrue(false);\n+\t\t}\n+\n+\t\t@Test\n+\t\t@Disabled\n+\t\tpublic void skippedTest() {\n+\t\t\t//no-op\n+\t\t}\n+\n+\t\t@Nested\n+\t\tclass secondLevelTestWatcherTestCase {\n+\t\t\t@Test\n+\t\t\tpublic void successfulTest() {\n+\t\t\t\t//no-op\n+\t\t\t}\n+\n+\t\t\t@Test\n+\t\t\tpublic void failedTest() {\n+\t\t\t\tfail(\"Must fail\");\n+\t\t\t}\n+\n+\t\t\t@Test\n+\t\t\tpublic void abortedTest() {\n+\t\t\t\tAssumptions.assumeTrue(false);\n+\t\t\t}\n+\n+\t\t\t@Test\n+\t\t\t@Disabled\n+\t\t\tpublic void skippedTest() {\n+\t\t\t\t//no-op\n+\t\t\t}\n+\t\t}\n+\n+\t}\n+\n+\tpublic static class TestResultAggregator implements TestWatcher, AfterAllCallback {\n+\n+\t\tprivate Map<String, List<String>> results = new HashMap<>();\n+\n+\t\t@Override\n+\t\tpublic void testSuccessful(String descriptor, ExtensionContext context) {\n+\t\t\tstoreResult(\"SUCCESSFUL\", descriptor);\n+\t\t}\n+\n+\t\t@Override\n+\t\tpublic void testAborted(String descriptor, Throwable cause, ExtensionContext context) {\n+\t\t\tstoreResult(\"ABORTED\", descriptor);\n+\t\t}\n+\n+\t\t@Override\n+\t\tpublic void testFailed(String descriptor, Throwable cause, ExtensionContext context) {\n+\t\t\tstoreResult(\"FAILED\", descriptor);\n+\t\t}\n+\n+\t\t@Override\n+\t\tpublic void testSkipped(String descriptor, Optional<String> Reason, ExtensionContext context) {\n+\t\t\tstoreResult(\"SKIPPED\", descriptor);\n+\t\t}\n+\n+\t\tprivate void storeResult(String status, String method) {\n+\t\t\tList<String> l = results.get(status);\n+\t\t\tif (l == null) {\n+\t\t\t\tl = new ArrayList<>();\n+\t\t\t}\n+\t\t\tl.add(method);","path":"junit-jupiter-engine/src/test/java/org/junit/jupiter/engine/extension/TestWatcherTests.java","position":121,"original_position":121,"commit_id":"615c86cf207860b7ec2da488d396128a8b07ad9c","original_commit_id":"615c86cf207860b7ec2da488d396128a8b07ad9c","user":{"login":"sbrannen","id":104798,"node_id":"MDQ6VXNlcjEwNDc5OA==","avatar_url":"https://avatars0.githubusercontent.com/u/104798?v=4","gravatar_id":"","url":"https://api.github.com/users/sbrannen","html_url":"https://github.com/sbrannen","followers_url":"https://api.github.com/users/sbrannen/followers","following_url":"https://api.github.com/users/sbrannen/following{/other_user}","gists_url":"https://api.github.com/users/sbrannen/gists{/gist_id}","starred_url":"https://api.github.com/users/sbrannen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sbrannen/subscriptions","organizations_url":"https://api.github.com/users/sbrannen/orgs","repos_url":"https://api.github.com/users/sbrannen/repos","events_url":"https://api.github.com/users/sbrannen/events{/privacy}","received_events_url":"https://api.github.com/users/sbrannen/received_events","type":"User","site_admin":false},"body":"You can achieve this in one line of code using `computeIfAbsent(...)`.\r\n\r\nFrom the JavaDoc for `java.util.Map#computeIfAbsent`:\r\n\r\n> Or to implement a multi-value map, Map<K,Collection<V>>, supporting multiple values per key:\r\n> \r\n> `map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);`\r\n","created_at":"2018-07-07T10:25:17Z","updated_at":"2018-07-07T10:33:34Z","html_url":"https://github.com/junit-team/junit5/pull/1393#discussion_r200808722","pull_request_url":"https://api.github.com/repos/junit-team/junit5/pulls/1393","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/comments/200808722"},"html":{"href":"https://github.com/junit-team/junit5/pull/1393#discussion_r200808722"},"pull_request":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/1393"}}},"pull_request":{"url":"https://api.github.com/repos/junit-team/junit5/pulls/1393","id":184185215,"node_id":"MDExOlB1bGxSZXF1ZXN0MTg0MTg1MjE1","html_url":"https://github.com/junit-team/junit5/pull/1393","diff_url":"https://github.com/junit-team/junit5/pull/1393.diff","patch_url":"https://github.com/junit-team/junit5/pull/1393.patch","issue_url":"https://api.github.com/repos/junit-team/junit5/issues/1393","number":1393,"state":"open","locked":false,"title":"Introduce extension for processing test results","user":{"login":"geo-m","id":25904283,"node_id":"MDQ6VXNlcjI1OTA0Mjgz","avatar_url":"https://avatars1.githubusercontent.com/u/25904283?v=4","gravatar_id":"","url":"https://api.github.com/users/geo-m","html_url":"https://github.com/geo-m","followers_url":"https://api.github.com/users/geo-m/followers","following_url":"https://api.github.com/users/geo-m/following{/other_user}","gists_url":"https://api.github.com/users/geo-m/gists{/gist_id}","starred_url":"https://api.github.com/users/geo-m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geo-m/subscriptions","organizations_url":"https://api.github.com/users/geo-m/orgs","repos_url":"https://api.github.com/users/geo-m/repos","events_url":"https://api.github.com/users/geo-m/events{/privacy}","received_events_url":"https://api.github.com/users/geo-m/received_events","type":"User","site_admin":false},"body":"## Overview\r\n\r\nDraft implementation of a testwatcher-like extension point for discussion, with a sample extension and a testcase. Only extends tests methods so far.\r\n\r\nI am currently considering these points, and would like feedback from Junit Team: \r\n\r\n- Whether this is the correct info to be finally passed to extension methods. E.g an alternative of the method identifier string is using a `TestIdentifier` object but that will require a new dependency.\r\n- Whether the node notification should be moved before `cleanup()` in order to avoid operating on a closed `ExtensionContext`. I am not aware of the full consequences of doing this (tests show no change).\r\n\r\nReasons for current code placement in `Node` instead of Jupiter engine / another class.\r\n\r\n- Engine agnostic point which other engines can use for node type specific result actions.\r\n- Has direct no-workaround access to both the extension registry and the test result for Jupiter.\r\n- Default interface method does not affect any existing code.\r\n- Failure of a result post processing method does not affect the already registered result.\r\n\r\nThe code causes a single test to fail which ensures no interactions at specific points, so **the build fails** for now.\r\n\r\nIssue: #542\r\n\r\n---\r\n\r\nI hereby agree to the terms of the [JUnit Contributor License Agreement](https://github.com/junit-team/junit5/blob/master/CONTRIBUTING.md#junit-contributor-license-agreement).\r\n\r\n---\r\n\r\n### Definition of Done\r\n\r\n- [ ] There are no TODOs left in the code\r\n- [ ] Method [preconditions](http://junit.org/junit5/docs/snapshot/api/org/junit/platform/commons/util/Preconditions.html) are checked and documented in the method's Javadoc\r\n- [ ] [Coding conventions](https://github.com/junit-team/junit5/blob/master/CONTRIBUTING.md#coding-conventions) (e.g. for logging) have been followed\r\n- [ ] Change is covered by [automated tests](https://github.com/junit-team/junit5/blob/master/CONTRIBUTING.md#tests)\r\n- [ ] Public API has [Javadoc](https://github.com/junit-team/junit5/blob/master/CONTRIBUTING.md#javadoc) and [`@API` annotations](http://junit.org/junit5/docs/snapshot/api/org/junit/platform/commons/meta/API.html)\r\n- [ ] Change is documented in the [User Guide](http://junit.org/junit5/docs/snapshot/user-guide/) and [Release Notes](http://junit.org/junit5/docs/snapshot/user-guide/#release-notes)\r\n- [ ] All [continuous integration builds](https://github.com/junit-team/junit5#continuous-integration-builds) pass\r\n","created_at":"2018-04-25T22:55:57Z","updated_at":"2018-07-07T10:33:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1f8d37be1504e4aea029cd9f9c8b865e3e1bca9b","assignee":{"login":"geo-m","id":25904283,"node_id":"MDQ6VXNlcjI1OTA0Mjgz","avatar_url":"https://avatars1.githubusercontent.com/u/25904283?v=4","gravatar_id":"","url":"https://api.github.com/users/geo-m","html_url":"https://github.com/geo-m","followers_url":"https://api.github.com/users/geo-m/followers","following_url":"https://api.github.com/users/geo-m/following{/other_user}","gists_url":"https://api.github.com/users/geo-m/gists{/gist_id}","starred_url":"https://api.github.com/users/geo-m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geo-m/subscriptions","organizations_url":"https://api.github.com/users/geo-m/orgs","repos_url":"https://api.github.com/users/geo-m/repos","events_url":"https://api.github.com/users/geo-m/events{/privacy}","received_events_url":"https://api.github.com/users/geo-m/received_events","type":"User","site_admin":false},"assignees":[{"login":"geo-m","id":25904283,"node_id":"MDQ6VXNlcjI1OTA0Mjgz","avatar_url":"https://avatars1.githubusercontent.com/u/25904283?v=4","gravatar_id":"","url":"https://api.github.com/users/geo-m","html_url":"https://github.com/geo-m","followers_url":"https://api.github.com/users/geo-m/followers","following_url":"https://api.github.com/users/geo-m/following{/other_user}","gists_url":"https://api.github.com/users/geo-m/gists{/gist_id}","starred_url":"https://api.github.com/users/geo-m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geo-m/subscriptions","organizations_url":"https://api.github.com/users/geo-m/orgs","repos_url":"https://api.github.com/users/geo-m/repos","events_url":"https://api.github.com/users/geo-m/events{/privacy}","received_events_url":"https://api.github.com/users/geo-m/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":420911923,"node_id":"MDU6TGFiZWw0MjA5MTE5MjM=","url":"https://api.github.com/repos/junit-team/junit5/labels/component:%20Jupiter","name":"component: Jupiter","color":"11ee99","default":false},{"id":420912036,"node_id":"MDU6TGFiZWw0MjA5MTIwMzY=","url":"https://api.github.com/repos/junit-team/junit5/labels/component:%20Platform","name":"component: Platform","color":"11dd99","default":false},{"id":294412858,"node_id":"MDU6TGFiZWwyOTQ0MTI4NTg=","url":"https://api.github.com/repos/junit-team/junit5/labels/status:%20in%20progress","name":"status: in progress","color":"ffbb00","default":false},{"id":289029959,"node_id":"MDU6TGFiZWwyODkwMjk5NTk=","url":"https://api.github.com/repos/junit-team/junit5/labels/theme:%20extensions","name":"theme: extensions","color":"c7def8","default":false},{"id":165165180,"node_id":"MDU6TGFiZWwxNjUxNjUxODA=","url":"https://api.github.com/repos/junit-team/junit5/labels/type:%20enhancement","name":"type: enhancement","color":"84b6eb","default":false}],"milestone":{"url":"https://api.github.com/repos/junit-team/junit5/milestones/27","html_url":"https://github.com/junit-team/junit5/milestone/27","labels_url":"https://api.github.com/repos/junit-team/junit5/milestones/27/labels","id":3427464,"node_id":"MDk6TWlsZXN0b25lMzQyNzQ2NA==","number":27,"title":"5.3 RC1","description":"Collecting issues not tackled in 5.3 M1","creator":{"login":"sormuras","id":2319838,"node_id":"MDQ6VXNlcjIzMTk4Mzg=","avatar_url":"https://avatars1.githubusercontent.com/u/2319838?v=4","gravatar_id":"","url":"https://api.github.com/users/sormuras","html_url":"https://github.com/sormuras","followers_url":"https://api.github.com/users/sormuras/followers","following_url":"https://api.github.com/users/sormuras/following{/other_user}","gists_url":"https://api.github.com/users/sormuras/gists{/gist_id}","starred_url":"https://api.github.com/users/sormuras/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sormuras/subscriptions","organizations_url":"https://api.github.com/users/sormuras/orgs","repos_url":"https://api.github.com/users/sormuras/repos","events_url":"https://api.github.com/users/sormuras/events{/privacy}","received_events_url":"https://api.github.com/users/sormuras/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":12,"state":"open","created_at":"2018-06-15T10:22:15Z","updated_at":"2018-07-06T16:06:32Z","due_on":"2018-07-31T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/junit-team/junit5/pulls/1393/commits","review_comments_url":"https://api.github.com/repos/junit-team/junit5/pulls/1393/comments","review_comment_url":"https://api.github.com/repos/junit-team/junit5/pulls/comments{/number}","comments_url":"https://api.github.com/repos/junit-team/junit5/issues/1393/comments","statuses_url":"https://api.github.com/repos/junit-team/junit5/statuses/615c86cf207860b7ec2da488d396128a8b07ad9c","head":{"label":"geo-m:Issue#542","ref":"Issue#542","sha":"615c86cf207860b7ec2da488d396128a8b07ad9c","user":{"login":"geo-m","id":25904283,"node_id":"MDQ6VXNlcjI1OTA0Mjgz","avatar_url":"https://avatars1.githubusercontent.com/u/25904283?v=4","gravatar_id":"","url":"https://api.github.com/users/geo-m","html_url":"https://github.com/geo-m","followers_url":"https://api.github.com/users/geo-m/followers","following_url":"https://api.github.com/users/geo-m/following{/other_user}","gists_url":"https://api.github.com/users/geo-m/gists{/gist_id}","starred_url":"https://api.github.com/users/geo-m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geo-m/subscriptions","organizations_url":"https://api.github.com/users/geo-m/orgs","repos_url":"https://api.github.com/users/geo-m/repos","events_url":"https://api.github.com/users/geo-m/events{/privacy}","received_events_url":"https://api.github.com/users/geo-m/received_events","type":"User","site_admin":false},"repo":{"id":124676475,"node_id":"MDEwOlJlcG9zaXRvcnkxMjQ2NzY0NzU=","name":"junit5","full_name":"geo-m/junit5","owner":{"login":"geo-m","id":25904283,"node_id":"MDQ6VXNlcjI1OTA0Mjgz","avatar_url":"https://avatars1.githubusercontent.com/u/25904283?v=4","gravatar_id":"","url":"https://api.github.com/users/geo-m","html_url":"https://github.com/geo-m","followers_url":"https://api.github.com/users/geo-m/followers","following_url":"https://api.github.com/users/geo-m/following{/other_user}","gists_url":"https://api.github.com/users/geo-m/gists{/gist_id}","starred_url":"https://api.github.com/users/geo-m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geo-m/subscriptions","organizations_url":"https://api.github.com/users/geo-m/orgs","repos_url":"https://api.github.com/users/geo-m/repos","events_url":"https://api.github.com/users/geo-m/events{/privacy}","received_events_url":"https://api.github.com/users/geo-m/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/geo-m/junit5","description":"The next generation of JUnit.","fork":true,"url":"https://api.github.com/repos/geo-m/junit5","forks_url":"https://api.github.com/repos/geo-m/junit5/forks","keys_url":"https://api.github.com/repos/geo-m/junit5/keys{/key_id}","collaborators_url":"https://api.github.com/repos/geo-m/junit5/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/geo-m/junit5/teams","hooks_url":"https://api.github.com/repos/geo-m/junit5/hooks","issue_events_url":"https://api.github.com/repos/geo-m/junit5/issues/events{/number}","events_url":"https://api.github.com/repos/geo-m/junit5/events","assignees_url":"https://api.github.com/repos/geo-m/junit5/assignees{/user}","branches_url":"https://api.github.com/repos/geo-m/junit5/branches{/branch}","tags_url":"https://api.github.com/repos/geo-m/junit5/tags","blobs_url":"https://api.github.com/repos/geo-m/junit5/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/geo-m/junit5/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/geo-m/junit5/git/refs{/sha}","trees_url":"https://api.github.com/repos/geo-m/junit5/git/trees{/sha}","statuses_url":"https://api.github.com/repos/geo-m/junit5/statuses/{sha}","languages_url":"https://api.github.com/repos/geo-m/junit5/languages","stargazers_url":"https://api.github.com/repos/geo-m/junit5/stargazers","contributors_url":"https://api.github.com/repos/geo-m/junit5/contributors","subscribers_url":"https://api.github.com/repos/geo-m/junit5/subscribers","subscription_url":"https://api.github.com/repos/geo-m/junit5/subscription","commits_url":"https://api.github.com/repos/geo-m/junit5/commits{/sha}","git_commits_url":"https://api.github.com/repos/geo-m/junit5/git/commits{/sha}","comments_url":"https://api.github.com/repos/geo-m/junit5/comments{/number}","issue_comment_url":"https://api.github.com/repos/geo-m/junit5/issues/comments{/number}","contents_url":"https://api.github.com/repos/geo-m/junit5/contents/{+path}","compare_url":"https://api.github.com/repos/geo-m/junit5/compare/{base}...{head}","merges_url":"https://api.github.com/repos/geo-m/junit5/merges","archive_url":"https://api.github.com/repos/geo-m/junit5/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/geo-m/junit5/downloads","issues_url":"https://api.github.com/repos/geo-m/junit5/issues{/number}","pulls_url":"https://api.github.com/repos/geo-m/junit5/pulls{/number}","milestones_url":"https://api.github.com/repos/geo-m/junit5/milestones{/number}","notifications_url":"https://api.github.com/repos/geo-m/junit5/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/geo-m/junit5/labels{/name}","releases_url":"https://api.github.com/repos/geo-m/junit5/releases{/id}","deployments_url":"https://api.github.com/repos/geo-m/junit5/deployments","created_at":"2018-03-10T16:53:06Z","updated_at":"2018-04-21T09:56:46Z","pushed_at":"2018-04-25T22:18:35Z","git_url":"git://github.com/geo-m/junit5.git","ssh_url":"git@github.com:geo-m/junit5.git","clone_url":"https://github.com/geo-m/junit5.git","svn_url":"https://github.com/geo-m/junit5","homepage":"https://junit.org","size":470360,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"junit-team:master","ref":"master","sha":"948841c03c646c98866d0121bc3c89ad4ddbf277","user":{"login":"junit-team","id":874086,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg3NDA4Ng==","avatar_url":"https://avatars1.githubusercontent.com/u/874086?v=4","gravatar_id":"","url":"https://api.github.com/users/junit-team","html_url":"https://github.com/junit-team","followers_url":"https://api.github.com/users/junit-team/followers","following_url":"https://api.github.com/users/junit-team/following{/other_user}","gists_url":"https://api.github.com/users/junit-team/gists{/gist_id}","starred_url":"https://api.github.com/users/junit-team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/junit-team/subscriptions","organizations_url":"https://api.github.com/users/junit-team/orgs","repos_url":"https://api.github.com/users/junit-team/repos","events_url":"https://api.github.com/users/junit-team/events{/privacy}","received_events_url":"https://api.github.com/users/junit-team/received_events","type":"Organization","site_admin":false},"repo":{"id":29102367,"node_id":"MDEwOlJlcG9zaXRvcnkyOTEwMjM2Nw==","name":"junit5","full_name":"junit-team/junit5","owner":{"login":"junit-team","id":874086,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg3NDA4Ng==","avatar_url":"https://avatars1.githubusercontent.com/u/874086?v=4","gravatar_id":"","url":"https://api.github.com/users/junit-team","html_url":"https://github.com/junit-team","followers_url":"https://api.github.com/users/junit-team/followers","following_url":"https://api.github.com/users/junit-team/following{/other_user}","gists_url":"https://api.github.com/users/junit-team/gists{/gist_id}","starred_url":"https://api.github.com/users/junit-team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/junit-team/subscriptions","organizations_url":"https://api.github.com/users/junit-team/orgs","repos_url":"https://api.github.com/users/junit-team/repos","events_url":"https://api.github.com/users/junit-team/events{/privacy}","received_events_url":"https://api.github.com/users/junit-team/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/junit-team/junit5","description":"The next generation of JUnit.","fork":false,"url":"https://api.github.com/repos/junit-team/junit5","forks_url":"https://api.github.com/repos/junit-team/junit5/forks","keys_url":"https://api.github.com/repos/junit-team/junit5/keys{/key_id}","collaborators_url":"https://api.github.com/repos/junit-team/junit5/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/junit-team/junit5/teams","hooks_url":"https://api.github.com/repos/junit-team/junit5/hooks","issue_events_url":"https://api.github.com/repos/junit-team/junit5/issues/events{/number}","events_url":"https://api.github.com/repos/junit-team/junit5/events","assignees_url":"https://api.github.com/repos/junit-team/junit5/assignees{/user}","branches_url":"https://api.github.com/repos/junit-team/junit5/branches{/branch}","tags_url":"https://api.github.com/repos/junit-team/junit5/tags","blobs_url":"https://api.github.com/repos/junit-team/junit5/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/junit-team/junit5/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/junit-team/junit5/git/refs{/sha}","trees_url":"https://api.github.com/repos/junit-team/junit5/git/trees{/sha}","statuses_url":"https://api.github.com/repos/junit-team/junit5/statuses/{sha}","languages_url":"https://api.github.com/repos/junit-team/junit5/languages","stargazers_url":"https://api.github.com/repos/junit-team/junit5/stargazers","contributors_url":"https://api.github.com/repos/junit-team/junit5/contributors","subscribers_url":"https://api.github.com/repos/junit-team/junit5/subscribers","subscription_url":"https://api.github.com/repos/junit-team/junit5/subscription","commits_url":"https://api.github.com/repos/junit-team/junit5/commits{/sha}","git_commits_url":"https://api.github.com/repos/junit-team/junit5/git/commits{/sha}","comments_url":"https://api.github.com/repos/junit-team/junit5/comments{/number}","issue_comment_url":"https://api.github.com/repos/junit-team/junit5/issues/comments{/number}","contents_url":"https://api.github.com/repos/junit-team/junit5/contents/{+path}","compare_url":"https://api.github.com/repos/junit-team/junit5/compare/{base}...{head}","merges_url":"https://api.github.com/repos/junit-team/junit5/merges","archive_url":"https://api.github.com/repos/junit-team/junit5/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/junit-team/junit5/downloads","issues_url":"https://api.github.com/repos/junit-team/junit5/issues{/number}","pulls_url":"https://api.github.com/repos/junit-team/junit5/pulls{/number}","milestones_url":"https://api.github.com/repos/junit-team/junit5/milestones{/number}","notifications_url":"https://api.github.com/repos/junit-team/junit5/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/junit-team/junit5/labels{/name}","releases_url":"https://api.github.com/repos/junit-team/junit5/releases{/id}","deployments_url":"https://api.github.com/repos/junit-team/junit5/deployments","created_at":"2015-01-11T19:06:10Z","updated_at":"2018-07-06T22:23:53Z","pushed_at":"2018-07-06T16:35:52Z","git_url":"git://github.com/junit-team/junit5.git","ssh_url":"git@github.com:junit-team/junit5.git","clone_url":"https://github.com/junit-team/junit5.git","svn_url":"https://github.com/junit-team/junit5","homepage":"https://junit.org","size":504520,"stargazers_count":2259,"watchers_count":2259,"language":"Java","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":512,"mirror_url":null,"archived":false,"open_issues_count":157,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":512,"open_issues":157,"watchers":2259,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/1393"},"html":{"href":"https://github.com/junit-team/junit5/pull/1393"},"issue":{"href":"https://api.github.com/repos/junit-team/junit5/issues/1393"},"comments":{"href":"https://api.github.com/repos/junit-team/junit5/issues/1393/comments"},"review_comments":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/1393/comments"},"review_comment":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/1393/commits"},"statuses":{"href":"https://api.github.com/repos/junit-team/junit5/statuses/615c86cf207860b7ec2da488d396128a8b07ad9c"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"sbrannen"}}