Skip to content

Commit

Permalink
feat: Add Security Training Activity
Browse files Browse the repository at this point in the history
  • Loading branch information
wurstbrot committed Feb 9, 2024
1 parent 23acad8 commit 48e2eaa
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 48 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,22 +63,5 @@ public String pushOverviewDashboard() throws IOException {
@ResponseBody
public String getTeamDashboard() throws Exception {
return grafanaDashboardCreator.getDashboards().get("team");

// String dashboardType = "team";
// Map<String, PanelConfiguration> panelConfigurations = new HashMap<String, PanelConfiguration>();
// for (SkeletonActivity skeletonActivity : ApplicationDirector.getSkeletonActivities()) {
// for (PanelConfiguration panelConfiguration : skeletonActivity.getPanelConfigurations(dashboardType)) {
// Map<String, PanelConfiguration> fetchedPanelConfigurations = PanelFactory.getPanelsForLevels(panelConfiguration, skeletonActivity);
// for (PanelConfiguration fetchedPanelConfiguration : fetchedPanelConfigurations.values()) {
// if (!panelConfigurations.containsKey(fetchedPanelConfiguration.getTitle())) {
// panelConfigurations.put(fetchedPanelConfiguration.getTitle(), fetchedPanelConfiguration);
// }
// }
// }
// }
// for (PanelConfiguration panelConfiguration : panelConfigurations.values()) {
// logger.info("panelConfiguration: " + panelConfiguration.getTitle());
// }
// return teamDashboard.getDashboard(panelConfigurations.values());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@
public class GrafanaMatrixDashboardController {
private static final Logger logger = LoggerFactory.getLogger(GrafanaMatrixDashboardController.class);

@Autowired
private GrafanaDashboardCreator grafanaDashboardCreator;

@Autowired ApplicationDirector applicationDirector;

@RequestMapping(value = "/matrix/overview", method = RequestMethod.GET)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,7 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.*;

@Controller
public class GrafanaOverviewDashboardController {
Expand Down Expand Up @@ -69,8 +66,8 @@ public Collection<FlattenDate> getActivitiesFlat(@PathVariable String activityNa
*/
@RequestMapping(value = "/activity/{activityName}/level/{level}/hoursAndPeople", method = RequestMethod.GET)
@ResponseBody
public List<DatePeriodHoursAndPeople> getActivitiesHoursAndPeople(@PathVariable String activityName, @PathVariable String level) throws Exception {
List<Date> allActivityDates = applicationDirector.getStartDateFromActivitiesAsMap(activityName);
public Map<String, List<DatePeriodHoursAndPeople>> getActivitiesHoursAndPeople(@PathVariable String activityName, @PathVariable String level) throws Exception {
Map<String, List<DatePeriodHoursAndPeople>> allActivityDates = new HashMap<>();
for (Application application : applicationDirector.getApplications()) {
for (Activity activity : application.getActivities(activityName)) {
logger.info("activity: " + activity.getName());
Expand All @@ -84,9 +81,9 @@ public List<DatePeriodHoursAndPeople> getActivitiesHoursAndPeople(@PathVariable
flattenDate.addDynamicField(application.getTeam(), datePeriodHoursAndPeople.getHours());
}

((SecurityTrainingActivity) activity).getLearningTimePerDate();
allActivityDates.put(application.getTeam(), ((SecurityTrainingActivity) activity).getLearningTimePerDate());
}
}
return null;
return allActivityDates;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ public class GrafanaOverviewDashboardControllerTest {
private static final String ACTIVITY_NAME = "abc activity";
private static final String LEVEL = "abc level";
private static final String TEAM_NAME = "abc level";
private static final String ERROR_MESSAGE = "SecurityTrainingActivity not implemented yet";

@Mock
private ApplicationDirector applicationDirector;
@Mock
Expand Down Expand Up @@ -91,22 +89,8 @@ public void shouldGetActivitiesFlat() throws Exception {
verify(applicationDirector).getActivitiesPerTeamAndApplicationFlat(null, null, ACTIVITY_NAME, LEVEL);
}

@Test
public void shouldThrowsExceptionOnGetActivitiesHoursAndPeople() throws Exception {
when(applicationDirector.getStartDateFromActivitiesAsMap(ACTIVITY_NAME)).thenReturn(List.of(date));
when(applicationDirector.getApplications()).thenReturn(List.of(application));
when(application.getActivities(ACTIVITY_NAME)).thenReturn(List.of(activity));
when(activity.getName()).thenReturn(ACTIVITY_NAME);

assertThatThrownBy(() -> grafanaOverviewDashboardController.getActivitiesHoursAndPeople(ACTIVITY_NAME, LEVEL)).returns(ERROR_MESSAGE, Throwable::getMessage);

verify(applicationDirector).getStartDateFromActivitiesAsMap(ACTIVITY_NAME);
verify(applicationDirector).getApplications();
}

@Test
public void shouldGetActivitiesHoursAndPeople() throws Exception {
when(applicationDirector.getStartDateFromActivitiesAsMap(ACTIVITY_NAME)).thenReturn(List.of(date));
when(applicationDirector.getApplications()).thenReturn(List.of(application));
when(application.getActivities(ACTIVITY_NAME)).thenReturn(List.of(securityTrainingActivity));
when(application.getTeam()).thenReturn(TEAM_NAME);
Expand All @@ -115,11 +99,9 @@ public void shouldGetActivitiesHoursAndPeople() throws Exception {
when(datePeriodHoursAndPeople.getDate()).thenReturn(date);
when(datePeriodHoursAndPeople.getHours()).thenReturn(1);

assertThat(grafanaOverviewDashboardController.getActivitiesHoursAndPeople(ACTIVITY_NAME, LEVEL))
.isNull();
assertThat(grafanaOverviewDashboardController
.getActivitiesHoursAndPeople(ACTIVITY_NAME, LEVEL)).containsKey(TEAM_NAME);

verify(applicationDirector).getStartDateFromActivitiesAsMap(ACTIVITY_NAME);
verify(applicationDirector).getApplications();
}

}

0 comments on commit 48e2eaa

Please sign in to comment.