Revize c058d7f9
Přidáno uživatelem Václav Hrabík před téměř 2 roky(ů)
src/test/java/cz/zcu/fav/kiv/antipatterndetectionapp/v2/controller/BaseTest.java | ||
---|---|---|
6 | 6 |
import cz.zcu.fav.kiv.antipatterndetectionapp.repository.AntiPatternRepository; |
7 | 7 |
import cz.zcu.fav.kiv.antipatterndetectionapp.repository.ProjectRepository; |
8 | 8 |
import cz.zcu.fav.kiv.antipatterndetectionapp.service.AntiPatternService; |
9 |
import cz.zcu.fav.kiv.antipatterndetectionapp.service.ProjectServiceImpl; |
|
9 | 10 |
import cz.zcu.fav.kiv.antipatterndetectionapp.v2.model.Configuration; |
10 | 11 |
import cz.zcu.fav.kiv.antipatterndetectionapp.v2.model.Metadata; |
11 | 12 |
import cz.zcu.fav.kiv.antipatterndetectionapp.v2.model.User; |
13 |
import cz.zcu.fav.kiv.antipatterndetectionapp.v2.model.UserConfigurationJoin; |
|
12 | 14 |
import cz.zcu.fav.kiv.antipatterndetectionapp.v2.repository.AboutPageRepository; |
13 | 15 |
import cz.zcu.fav.kiv.antipatterndetectionapp.v2.repository.ConfigRepository; |
14 | 16 |
import cz.zcu.fav.kiv.antipatterndetectionapp.v2.repository.UserRepository; |
... | ... | |
18 | 20 |
import io.restassured.module.mockmvc.RestAssuredMockMvc; |
19 | 21 |
import org.junit.jupiter.api.BeforeAll; |
20 | 22 |
import org.junit.jupiter.api.BeforeEach; |
23 |
import org.mockito.stubbing.OngoingStubbing; |
|
21 | 24 |
import org.springframework.beans.factory.annotation.Autowired; |
22 | 25 |
import org.springframework.boot.test.context.SpringBootTest; |
23 | 26 |
import org.springframework.boot.test.mock.mockito.MockBean; |
... | ... | |
47 | 50 |
@MockBean |
48 | 51 |
private AntiPatternService antiPatternService; |
49 | 52 |
|
53 |
@MockBean |
|
54 |
private ProjectServiceImpl projectService; |
|
55 |
|
|
50 | 56 |
@MockBean |
51 | 57 |
private ConfigRepository configurationRepository; |
52 | 58 |
|
... | ... | |
56 | 62 |
@MockBean |
57 | 63 |
private AntiPatternManager antiPatternManager; |
58 | 64 |
|
59 |
@MockBean |
|
60 |
private ProjectRepository projectRepository; |
|
61 |
|
|
62 | 65 |
@BeforeEach |
63 | 66 |
public void init() { |
64 | 67 |
|
... | ... | |
123 | 126 |
when(configurationRepository.getAllUserConfigurationNames(config_user.getId())).thenReturn(configs); |
124 | 127 |
|
125 | 128 |
/* /configuration */ |
126 |
List<Configuration> configuration = new ArrayList<>();
|
|
129 |
List<Object[]> configuration = new ArrayList<>();
|
|
127 | 130 |
Configuration con = new Configuration("{\r\n \"configuration\": [\r\n {\r\n \"antiPattern\": \"TooLongSprint\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxIterationLength\",\r\n \"value\": \"21\"\r\n },\r\n {\r\n \"thresholdName\": \"maxNumberOfTooLongIterations\",\r\n \"value\": \"0\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"VaryingSprintLength\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxDaysDifference\",\r\n \"value\": \"7\"\r\n },\r\n {\r\n \"thresholdName\": \"maxIterationChanged\",\r\n \"value\": \"1\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"BusinessAsUsual\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"divisionOfIterationsWithRetrospective\",\r\n \"value\": \"66.66f\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithRetrospective\",\r\n \"value\": \"%retr%||%revi%||%week%scrum%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"SpecifyNothing\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"minNumberOfWikiPagesWithSpecification\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"minNumberOfActivitiesWithSpecification\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"minAvgLengthOfActivityDescription\",\r\n \"value\": \"150\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithProjectSpecification\",\r\n \"value\": \"%dsp%||%specifikace%||%specification%||%vize%proj%||%vize%produ%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"RoadToNowhere\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"minNumberOfWikiPagesWithProjectPlan\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"minNumberOfActivitiesWithProjectPlan\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithProjectPlan\",\r\n \"value\": \"%pl?n projektu%||%project plan%||%plan project%||%projektov? pl?n%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"LongOrNonExistentFeedbackLoops\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"divisionOfIterationsWithFeedbackLoop\",\r\n \"value\": \"50.00f\"\r\n },\r\n {\r\n \"thresholdName\": \"maxGapBetweenFeedbackLoopRate\",\r\n \"value\": \"2f\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithFeedbackLoop\",\r\n \"value\": \"%sch?z%z?kazn?k%||%p?edveden?%z?kazn?k%||%z?kazn%demo%||%sch?z%zadavat%||%inform%sch?z%||%z?kazn%||%zadavatel%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"NinetyNinetyRule\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxDivisionRange\",\r\n \"value\": \"1.25f\"\r\n },\r\n {\r\n \"thresholdName\": \"maxBadDivisionLimit\",\r\n \"value\": \"2\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"UnknownPoster\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"searchSubstringsInvalidNames\",\r\n \"value\": \"%unknown%||%anonym%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"BystanderApathy\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"searchSubstringsInvalidContributors\",\r\n \"value\": \"%dependabot%\"\r\n },\r\n {\r\n \"thresholdName\": \"maximumPercentageOfTasksWithoutTeamwork\",\r\n \"value\": \"30f\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"YetAnotherProgrammer\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxNumberOfNewContributors\",\r\n \"value\": \"5\"\r\n },\r\n {\r\n \"thresholdName\": \"numberOfFirstMonthsWithoutDetection\",\r\n \"value\": \"2\"\r\n }\r\n ]\r\n }\r\n ]\r\n}" |
128 |
, "Y", "default_config"); |
|
129 |
configuration.add(con); |
|
131 |
,null, "Y", "default config", "default config"); |
|
132 |
Object[] pom = new Object[2]; |
|
133 |
pom[0] = con; |
|
134 |
pom[1] = new UserConfigurationJoin(null, "default config"); |
|
135 |
configuration.add(pom); |
|
130 | 136 |
when(configurationRepository.getAllUserConfigurations(config_user.getId())).thenReturn(configuration); |
131 | 137 |
} |
132 | 138 |
|
... | ... | |
166 | 172 |
thresholdMap1, |
167 | 173 |
"Business_As_Usual.md" |
168 | 174 |
)); |
175 |
when(antiPatternService.getAllAntiPatterns()).thenReturn(null); |
|
169 | 176 |
when(antiPatternService.antiPatternsToModel(any())).thenReturn(antiPatterns); |
170 | 177 |
|
171 | 178 |
List<Project> projectList = new ArrayList<>(); |
172 | 179 |
Project project1 = new Project("Aplikace nad otevrenymi daty (KIV) BHVS", "generic description in czech"); |
173 | 180 |
project1.setId(6L); |
174 | 181 |
projectList.add(project1); |
175 |
when(projectRepository.findAll()).thenReturn(projectList);
|
|
182 |
when(projectService.getAllProjects()).thenReturn(projectList);
|
|
176 | 183 |
|
177 |
/* /detect */
|
|
184 |
/* /analyze */
|
|
178 | 185 |
Configuration con = new Configuration("{\r\n \"configuration\": [\r\n {\r\n \"antiPattern\": \"TooLongSprint\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxIterationLength\",\r\n \"value\": \"21\"\r\n },\r\n {\r\n \"thresholdName\": \"maxNumberOfTooLongIterations\",\r\n \"value\": \"0\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"VaryingSprintLength\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxDaysDifference\",\r\n \"value\": \"7\"\r\n },\r\n {\r\n \"thresholdName\": \"maxIterationChanged\",\r\n \"value\": \"1\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"BusinessAsUsual\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"divisionOfIterationsWithRetrospective\",\r\n \"value\": \"66.66f\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithRetrospective\",\r\n \"value\": \"%retr%||%revi%||%week%scrum%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"SpecifyNothing\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"minNumberOfWikiPagesWithSpecification\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"minNumberOfActivitiesWithSpecification\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"minAvgLengthOfActivityDescription\",\r\n \"value\": \"150\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithProjectSpecification\",\r\n \"value\": \"%dsp%||%specifikace%||%specification%||%vize%proj%||%vize%produ%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"RoadToNowhere\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"minNumberOfWikiPagesWithProjectPlan\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"minNumberOfActivitiesWithProjectPlan\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithProjectPlan\",\r\n \"value\": \"%pl?n projektu%||%project plan%||%plan project%||%projektov? pl?n%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"LongOrNonExistentFeedbackLoops\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"divisionOfIterationsWithFeedbackLoop\",\r\n \"value\": \"50.00f\"\r\n },\r\n {\r\n \"thresholdName\": \"maxGapBetweenFeedbackLoopRate\",\r\n \"value\": \"2f\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithFeedbackLoop\",\r\n \"value\": \"%sch?z%z?kazn?k%||%p?edveden?%z?kazn?k%||%z?kazn%demo%||%sch?z%zadavat%||%inform%sch?z%||%z?kazn%||%zadavatel%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"NinetyNinetyRule\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxDivisionRange\",\r\n \"value\": \"1.25f\"\r\n },\r\n {\r\n \"thresholdName\": \"maxBadDivisionLimit\",\r\n \"value\": \"2\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"UnknownPoster\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"searchSubstringsInvalidNames\",\r\n \"value\": \"%unknown%||%anonym%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"BystanderApathy\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"searchSubstringsInvalidContributors\",\r\n \"value\": \"%dependabot%\"\r\n },\r\n {\r\n \"thresholdName\": \"maximumPercentageOfTasksWithoutTeamwork\",\r\n \"value\": \"30f\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"YetAnotherProgrammer\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxNumberOfNewContributors\",\r\n \"value\": \"5\"\r\n },\r\n {\r\n \"thresholdName\": \"numberOfFirstMonthsWithoutDetection\",\r\n \"value\": \"2\"\r\n }\r\n ]\r\n }\r\n ]\r\n}" |
179 |
, "Y", "default_config");
|
|
186 |
, null, "Y", "default config", "default config");
|
|
180 | 187 |
String[] selectedProjects = new String[1]; |
181 | 188 |
selectedProjects[0] = "1"; |
182 | 189 |
String[] selectedAntiPatterns = new String[1]; |
src/test/resources/contracts/configurationNames200.groovy | ||
---|---|---|
17 | 17 |
} |
18 | 18 |
response { |
19 | 19 |
body( |
20 |
"message": "ok", |
|
21 |
"configuration_ids": ["1"], |
|
20 |
"configuration_ids": ["0"], |
|
22 | 21 |
"configuration_names": ["default config"] |
23 | 22 |
) |
24 | 23 |
status 200 |
src/test/resources/contracts/configurations_200.groovy | ||
---|---|---|
17 | 17 |
} |
18 | 18 |
response { |
19 | 19 |
body( |
20 |
"message": "configuration retrived",
|
|
21 |
"configurations": ["{\r\n \"configuration\": [\r\n {\r\n \"antiPattern\": \"TooLongSprint\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxIterationLength\",\r\n \"value\": \"21\"\r\n },\r\n {\r\n \"thresholdName\": \"maxNumberOfTooLongIterations\",\r\n \"value\": \"0\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"VaryingSprintLength\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxDaysDifference\",\r\n \"value\": \"7\"\r\n },\r\n {\r\n \"thresholdName\": \"maxIterationChanged\",\r\n \"value\": \"1\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"BusinessAsUsual\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"divisionOfIterationsWithRetrospective\",\r\n \"value\": \"66.66f\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithRetrospective\",\r\n \"value\": \"%retr%||%revi%||%week%scrum%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"SpecifyNothing\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"minNumberOfWikiPagesWithSpecification\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"minNumberOfActivitiesWithSpecification\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"minAvgLengthOfActivityDescription\",\r\n \"value\": \"150\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithProjectSpecification\",\r\n \"value\": \"%dsp%||%specifikace%||%specification%||%vize%proj%||%vize%produ%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"RoadToNowhere\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"minNumberOfWikiPagesWithProjectPlan\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"minNumberOfActivitiesWithProjectPlan\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithProjectPlan\",\r\n \"value\": \"%pl?n projektu%||%project plan%||%plan project%||%projektov? pl?n%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"LongOrNonExistentFeedbackLoops\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"divisionOfIterationsWithFeedbackLoop\",\r\n \"value\": \"50.00f\"\r\n },\r\n {\r\n \"thresholdName\": \"maxGapBetweenFeedbackLoopRate\",\r\n \"value\": \"2f\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithFeedbackLoop\",\r\n \"value\": \"%sch?z%z?kazn?k%||%p?edveden?%z?kazn?k%||%z?kazn%demo%||%sch?z%zadavat%||%inform%sch?z%||%z?kazn%||%zadavatel%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"NinetyNinetyRule\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxDivisionRange\",\r\n \"value\": \"1.25f\"\r\n },\r\n {\r\n \"thresholdName\": \"maxBadDivisionLimit\",\r\n \"value\": \"2\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"UnknownPoster\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"searchSubstringsInvalidNames\",\r\n \"value\": \"%unknown%||%anonym%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"BystanderApathy\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"searchSubstringsInvalidContributors\",\r\n \"value\": \"%dependabot%\"\r\n },\r\n {\r\n \"thresholdName\": \"maximumPercentageOfTasksWithoutTeamwork\",\r\n \"value\": \"30f\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"YetAnotherProgrammer\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxNumberOfNewContributors\",\r\n \"value\": \"5\"\r\n },\r\n {\r\n \"thresholdName\": \"numberOfFirstMonthsWithoutDetection\",\r\n \"value\": \"2\"\r\n }\r\n ]\r\n }\r\n ]\r\n}"
|
|
22 |
] |
|
20 |
"configuration": ["{\r\n \"configuration\": [\r\n {\r\n \"antiPattern\": \"TooLongSprint\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxIterationLength\",\r\n \"value\": \"21\"\r\n },\r\n {\r\n \"thresholdName\": \"maxNumberOfTooLongIterations\",\r\n \"value\": \"0\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"VaryingSprintLength\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxDaysDifference\",\r\n \"value\": \"7\"\r\n },\r\n {\r\n \"thresholdName\": \"maxIterationChanged\",\r\n \"value\": \"1\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"BusinessAsUsual\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"divisionOfIterationsWithRetrospective\",\r\n \"value\": \"66.66f\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithRetrospective\",\r\n \"value\": \"%retr%||%revi%||%week%scrum%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"SpecifyNothing\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"minNumberOfWikiPagesWithSpecification\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"minNumberOfActivitiesWithSpecification\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"minAvgLengthOfActivityDescription\",\r\n \"value\": \"150\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithProjectSpecification\",\r\n \"value\": \"%dsp%||%specifikace%||%specification%||%vize%proj%||%vize%produ%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"RoadToNowhere\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"minNumberOfWikiPagesWithProjectPlan\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"minNumberOfActivitiesWithProjectPlan\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithProjectPlan\",\r\n \"value\": \"%pl?n projektu%||%project plan%||%plan project%||%projektov? pl?n%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"LongOrNonExistentFeedbackLoops\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"divisionOfIterationsWithFeedbackLoop\",\r\n \"value\": \"50.00f\"\r\n },\r\n {\r\n \"thresholdName\": \"maxGapBetweenFeedbackLoopRate\",\r\n \"value\": \"2f\"\r\n },\r\n {\r\n \"thresholdName\": \"searchSubstringsWithFeedbackLoop\",\r\n \"value\": \"%sch?z%z?kazn?k%||%p?edveden?%z?kazn?k%||%z?kazn%demo%||%sch?z%zadavat%||%inform%sch?z%||%z?kazn%||%zadavatel%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"NinetyNinetyRule\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxDivisionRange\",\r\n \"value\": \"1.25f\"\r\n },\r\n {\r\n \"thresholdName\": \"maxBadDivisionLimit\",\r\n \"value\": \"2\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"UnknownPoster\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"searchSubstringsInvalidNames\",\r\n \"value\": \"%unknown%||%anonym%\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"BystanderApathy\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"searchSubstringsInvalidContributors\",\r\n \"value\": \"%dependabot%\"\r\n },\r\n {\r\n \"thresholdName\": \"maximumPercentageOfTasksWithoutTeamwork\",\r\n \"value\": \"30f\"\r\n }\r\n ]\r\n },\r\n {\r\n \"antiPattern\": \"YetAnotherProgrammer\",\r\n \"thresholds\": [\r\n {\r\n \"thresholdName\": \"maxNumberOfNewContributors\",\r\n \"value\": \"5\"\r\n },\r\n {\r\n \"thresholdName\": \"numberOfFirstMonthsWithoutDetection\",\r\n \"value\": \"2\"\r\n }\r\n ]\r\n }\r\n ]\r\n}"
|
|
21 |
],
|
|
22 |
"configuration_names": ["default config"]
|
|
23 | 23 |
) |
24 | 24 |
status 200 |
25 | 25 |
} |
Také k dispozici: Unified diff
#10657 oprava testů k releasu