16 package org.openkilda.atdd.staging.steps;
18 import static java.util.stream.Collectors.toList;
19 import static org.hamcrest.Matchers.containsInAnyOrder;
20 import static org.junit.Assert.assertThat;
21 import static org.junit.Assert.assertTrue;
31 import cucumber.api.Scenario;
32 import cucumber.api.java.Before;
33 import cucumber.api.java.en.Then;
34 import cucumber.api.java8.En;
35 import org.springframework.beans.factory.annotation.Autowired;
37 import java.util.List;
48 private Scenario scenario;
51 public void before(Scenario scenario) {
52 this.scenario = scenario;
55 @Then(
"^floodlight should not find redundant switches")
58 List<SwitchEntry> floodlightSwitches = fetchFloodlightSwitches();
60 assertThat(
"Discovered switches don't match expected", floodlightSwitches, containsInAnyOrder(
61 expectedSwitches.stream().map(SwitchEntryMatcher::new).collect(toList())));
64 @Then(
"^default rules for switches are installed")
66 List<SwitchEntry> floodlightSwitches = fetchFloodlightSwitches();
68 List<SwitchEntry> switchesWithInvalidFlows = floodlightSwitches.stream()
70 FlowEntriesMap flows = floodlightService.getFlows(sw.getSwitchId());
74 assertTrue(
"There were found switches with incorrect default flows",
75 switchesWithInvalidFlows.isEmpty());
78 private List<SwitchEntry> fetchFloodlightSwitches() {
79 Set<SwitchId> skippedSwitches = topologyDefinition.getSkippedSwitchIds();
81 return floodlightService.getSwitches().stream()
82 .filter(sw -> !skippedSwitches.contains(sw.getSwitchId()))
void checkFloodlightSwitches()
static boolean validateDefaultRules(SwitchEntry sw, FlowEntriesMap map, Scenario scenario)
void before(Scenario scenario)