Removed StaticFlowPusher test class
(the staticflowpusher has been gone for a while)

Change-Id: Ic6109ab54b63186f5eb5e32b9d86c31c8bedbede
diff --git a/src/test/java/net/floodlightcontroller/staticflowentry/StaticFlowTests.java b/src/test/java/net/floodlightcontroller/staticflowentry/StaticFlowTests.java
deleted file mode 100644
index 4f53342..0000000
--- a/src/test/java/net/floodlightcontroller/staticflowentry/StaticFlowTests.java
+++ /dev/null
@@ -1,302 +0,0 @@
-package net.floodlightcontroller.staticflowentry;
-
-
-/*
-public class StaticFlowTests extends FloodlightTestCase {    
-    
-    static String TestSwitch1DPID = "00:00:00:00:00:00:00:01";
-    static int TotalTestRules = 3;
-    
-    //
-    // Create TestRuleXXX and the corresponding FlowModXXX
-    // for X = 1..3
-    //
-    static Map<String,Object> TestRule1;
-    static OFFlowMod FlowMod1;
-    static {
-        FlowMod1 = new OFFlowMod();
-        TestRule1 = new HashMap<String,Object>();
-        TestRule1.put(COLUMN_NAME, "TestRule1");
-        TestRule1.put(COLUMN_SWITCH, TestSwitch1DPID);
-        // setup match
-        OFMatch match = new OFMatch();
-        TestRule1.put(COLUMN_DL_DST, "00:20:30:40:50:60");
-        match.fromString("dl_dst=00:20:30:40:50:60");
-        // setup actions
-        List<OFAction> actions = new LinkedList<OFAction>();
-        TestRule1.put(COLUMN_ACTIONS, "output=1");
-        actions.add(new OFActionOutput((short)1, (short) Short.MAX_VALUE));
-        // done
-        FlowMod1.setMatch(match);
-        FlowMod1.setActions(actions);
-        FlowMod1.setBufferId(-1);
-        FlowMod1.setOutPort(OFPort.OFPP_NONE.getValue());
-        FlowMod1.setPriority(Short.MAX_VALUE);
-        FlowMod1.setLengthU(OFFlowMod.MINIMUM_LENGTH + 8);  // 8 bytes of actions
-    }
-    
-    static Map<String,Object> TestRule2;
-    static OFFlowMod FlowMod2;
-
-    static {
-        FlowMod2 = new OFFlowMod();
-        TestRule2 = new HashMap<String,Object>();
-        TestRule2.put(COLUMN_NAME, "TestRule2");
-        TestRule2.put(COLUMN_SWITCH, TestSwitch1DPID);
-        // setup match
-        OFMatch match = new OFMatch();
-        TestRule2.put(COLUMN_NW_DST, "192.168.1.0/24");
-        match.fromString("nw_dst=192.168.1.0/24");
-        // setup actions
-        List<OFAction> actions = new LinkedList<OFAction>();
-        TestRule2.put(COLUMN_ACTIONS, "output=1");
-        actions.add(new OFActionOutput((short)1, (short) Short.MAX_VALUE));
-        // done
-        FlowMod2.setMatch(match);
-        FlowMod2.setActions(actions);
-        FlowMod2.setBufferId(-1);
-        FlowMod2.setOutPort(OFPort.OFPP_NONE.getValue());
-        FlowMod2.setPriority(Short.MAX_VALUE);
-        FlowMod2.setLengthU(OFFlowMod.MINIMUM_LENGTH + 8);  // 8 bytes of actions
-
-    }
-    
-   
-    static Map<String,Object> TestRule3;
-    static OFFlowMod FlowMod3;
-    static {
-        FlowMod3 = new OFFlowMod();
-        TestRule3 = new HashMap<String,Object>();
-        TestRule3.put(COLUMN_NAME, "TestRule3");
-        TestRule3.put(COLUMN_SWITCH, TestSwitch1DPID);
-        // setup match
-        OFMatch match = new OFMatch();
-        TestRule3.put(COLUMN_DL_DST, "00:20:30:40:50:60");
-        TestRule3.put(COLUMN_DL_VLAN, 4096);
-        match.fromString("dl_dst=00:20:30:40:50:60,dl_vlan=4096");
-        // setup actions
-        TestRule3.put(COLUMN_ACTIONS, "output=controller");
-        List<OFAction> actions = new LinkedList<OFAction>();
-        actions.add(new OFActionOutput(OFPort.OFPP_CONTROLLER.getValue(), (short) Short.MAX_VALUE));
-        // done
-        FlowMod3.setMatch(match);
-        FlowMod3.setActions(actions);
-        FlowMod3.setBufferId(-1);
-        FlowMod3.setOutPort(OFPort.OFPP_NONE.getValue());
-        FlowMod3.setPriority(Short.MAX_VALUE);
-        FlowMod3.setLengthU(OFFlowMod.MINIMUM_LENGTH + 8);  // 8 bytes of actions
-
-    }
-    
-    private void verifyFlowMod(OFFlowMod testFlowMod,
-            OFFlowMod goodFlowMod) {
-        verifyMatch(testFlowMod, goodFlowMod);
-        verifyActions(testFlowMod, goodFlowMod);
-        // dont' bother testing the cookie; just copy it over
-        goodFlowMod.setCookie(testFlowMod.getCookie());
-        // .. so we can continue to use .equals()
-        assertEquals(goodFlowMod, testFlowMod);
-    }
-    
-
-    private void verifyMatch(OFFlowMod testFlowMod, OFFlowMod goodFlowMod) {
-        assertEquals(goodFlowMod.getMatch(), testFlowMod.getMatch());
-    }
-
-
-    private void verifyActions(OFFlowMod testFlowMod, OFFlowMod goodFlowMod) {
-        List<OFAction> goodActions = goodFlowMod.getActions();
-        List<OFAction> testActions = testFlowMod.getActions();
-        assertNotNull(goodActions);
-        assertNotNull(testActions);
-        assertEquals(goodActions.size(), testActions.size());
-        // assumes actions are marshalled in same order; should be safe
-        for(int i = 0; i < goodActions.size(); i++) {
-            assertEquals(goodActions.get(i), testActions.get(i));
-        }
-
-    }
-
-
-    @Override 
-    public void setUp() throws Exception {
-        super.setUp();
-    }
-    
-    @Test
-    public void testStaticFlowPush() throws IOException {        
-        StaticFlowEntryPusher staticFlowEntryPusher = new StaticFlowEntryPusher();
-        IStorageSourceService storage = createStorageWithFlowEntries();
-        long dpid = HexString.toLong(TestSwitch1DPID);
-
-        // Create a Switch and attach a switch
-        IOFSwitch mockSwitch = createNiceMock(IOFSwitch.class);
-        Capture<OFMessage> writeCapture = new Capture<OFMessage>(CaptureType.ALL);
-        Capture<FloodlightContext> contextCapture = new Capture<FloodlightContext>(CaptureType.ALL);
-        Capture<List<OFMessage>> writeCaptureList = new Capture<List<OFMessage>>(CaptureType.ALL);
-
-        //OFMessageSafeOutStream mockOutStream = createNiceMock(OFMessageSafeOutStream.class);
-        mockSwitch.write(capture(writeCapture), capture(contextCapture));
-        expectLastCall().anyTimes();
-        mockSwitch.write(capture(writeCaptureList), capture(contextCapture));
-        expectLastCall().anyTimes();
-        mockSwitch.flush();
-        expectLastCall().anyTimes();
-        
-        staticFlowEntryPusher.setStorageSource(storage);
-        
-        FloodlightModuleContext fmc = new FloodlightModuleContext();
-        
-        MockFloodlightProvider mockFloodlightProvider = getMockFloodlightProvider();
-        Map<Long, IOFSwitch> switchMap = new HashMap<Long, IOFSwitch>();
-        switchMap.put(dpid, mockSwitch);
-        // NO ! expect(mockFloodlightProvider.getSwitches()).andReturn(switchMap).anyTimes();
-        mockFloodlightProvider.setSwitches(switchMap);
-        staticFlowEntryPusher.setFloodlightProvider(mockFloodlightProvider);
-        RestApiServer restApi = new RestApiServer();
-        try {
-            restApi.init(fmc);
-        } catch (FloodlightModuleException e) {
-            e.printStackTrace();
-        }
-        staticFlowEntryPusher.restApi = restApi;
-        staticFlowEntryPusher.startUp(null);    // again, to hack unittest
-
-        // verify that flowpusher read all three entries from storage
-        assertEquals(TotalTestRules, staticFlowEntryPusher.countEntries());
-        
-        // if someone calls mockSwitch.getOutputStream(), return mockOutStream instead
-        //expect(mockSwitch.getOutputStream()).andReturn(mockOutStream).anyTimes();    
-
-        // if someone calls getId(), return this dpid instead
-        expect(mockSwitch.getId()).andReturn(dpid).anyTimes();
-        expect(mockSwitch.getStringId()).andReturn(TestSwitch1DPID).anyTimes();
-        replay(mockSwitch);
-        
-        // hook the static pusher up to the fake switch
-        staticFlowEntryPusher.addedSwitch(mockSwitch);
-        
-        verify(mockSwitch);
-        
-        // Verify that the switch has gotten some flow_mods
-        assertEquals(true, writeCapture.hasCaptured());
-        assertEquals(TotalTestRules, writeCapture.getValues().size());
-        
-        // Order assumes how things are stored in hash bucket; 
-        // should be fixed because OFMessage.hashCode() is deterministic
-        OFFlowMod firstFlowMod = (OFFlowMod) writeCapture.getValues().get(2);
-        verifyFlowMod(firstFlowMod, FlowMod1);
-        OFFlowMod secondFlowMod = (OFFlowMod) writeCapture.getValues().get(1);
-        verifyFlowMod(secondFlowMod, FlowMod2);
-        OFFlowMod thirdFlowMod = (OFFlowMod) writeCapture.getValues().get(0);
-        verifyFlowMod(thirdFlowMod, FlowMod3);
-        
-        writeCapture.reset();
-        contextCapture.reset();
-        
-        
-        // delete two rules and verify they've been removed
-        // this should invoke staticFlowPusher.rowsDeleted()
-        storage.deleteRow(StaticFlowEntryPusher.TABLE_NAME, "TestRule1");
-        storage.deleteRow(StaticFlowEntryPusher.TABLE_NAME, "TestRule2");
-
-        assertEquals(1, staticFlowEntryPusher.countEntries());
-        assertEquals(2, writeCapture.getValues().size());
-        
-        OFFlowMod firstDelete = (OFFlowMod) writeCapture.getValues().get(0);
-        FlowMod1.setCommand(OFFlowMod.OFPFC_DELETE_STRICT);
-        verifyFlowMod(firstDelete, FlowMod1);
-
-        OFFlowMod secondDelete = (OFFlowMod) writeCapture.getValues().get(1);
-        FlowMod2.setCommand(OFFlowMod.OFPFC_DELETE_STRICT);
-        verifyFlowMod(secondDelete, FlowMod2);
-        
-        // add rules back to make sure that staticFlowPusher.rowsInserted() works
-        writeCapture.reset();
-        FlowMod2.setCommand(OFFlowMod.OFPFC_ADD);
-        storage.insertRow(StaticFlowEntryPusher.TABLE_NAME, TestRule2);
-        assertEquals(2, staticFlowEntryPusher.countEntries());
-        assertEquals(1, writeCaptureList.getValues().size());
-        List<OFMessage> outList = 
-            (List<OFMessage>) writeCaptureList.getValues().get(0);
-        assertEquals(1, outList.size());
-        OFFlowMod firstAdd = (OFFlowMod) outList.get(0);
-        verifyFlowMod(firstAdd, FlowMod2);
-        writeCapture.reset();
-        contextCapture.reset();
-        writeCaptureList.reset();
-        
-        // now try an update, calling staticFlowPusher.rowUpdated()
-        TestRule3.put(COLUMN_DL_VLAN, 333);
-        storage.updateRow(StaticFlowEntryPusher.TABLE_NAME, TestRule3);
-        assertEquals(2, staticFlowEntryPusher.countEntries());
-        assertEquals(1, writeCaptureList.getValues().size());
-
-        outList = (List<OFMessage>) writeCaptureList.getValues().get(0);
-        assertEquals(2, outList.size());
-        OFFlowMod removeFlowMod = (OFFlowMod) outList.get(0);
-        FlowMod3.setCommand(OFFlowMod.OFPFC_DELETE_STRICT);
-        verifyFlowMod(removeFlowMod, FlowMod3);
-        FlowMod3.setCommand(OFFlowMod.OFPFC_ADD);
-        FlowMod3.getMatch().fromString("dl_dst=00:20:30:40:50:60,dl_vlan=333");
-        OFFlowMod updateFlowMod = (OFFlowMod) outList.get(1);
-        verifyFlowMod(updateFlowMod, FlowMod3);
-
-    }
-
-
-    IStorageSourceService createStorageWithFlowEntries() {
-        return populateStorageWithFlowEntries(new MemoryStorageSource());
-    }
-    
-    IStorageSourceService populateStorageWithFlowEntries(IStorageSourceService storage) {
-        Set<String> indexedColumns = new HashSet<String>();
-        indexedColumns.add(COLUMN_NAME);
-        storage.createTable(StaticFlowEntryPusher.TABLE_NAME, indexedColumns);
-        storage.setTablePrimaryKeyName(StaticFlowEntryPusher.TABLE_NAME, COLUMN_NAME);
-
-        storage.insertRow(StaticFlowEntryPusher.TABLE_NAME, TestRule1);
-        storage.insertRow(StaticFlowEntryPusher.TABLE_NAME, TestRule2);
-        storage.insertRow(StaticFlowEntryPusher.TABLE_NAME, TestRule3);
-
-        return storage;
-    }
-    
-    @Test 
-    public void testHARoleChanged() throws IOException {
-        StaticFlowEntryPusher staticFlowEntryPusher = new StaticFlowEntryPusher();
-        IStorageSourceService storage = createStorageWithFlowEntries();
-        MockFloodlightProvider mfp = getMockFloodlightProvider();
-        staticFlowEntryPusher.setFloodlightProvider(mfp);
-        staticFlowEntryPusher.setStorageSource(storage);
-        RestApiServer restApi = new RestApiServer();
-        try {
-            FloodlightModuleContext fmc = new FloodlightModuleContext();
-            restApi.init(fmc);
-        } catch (FloodlightModuleException e) {
-            e.printStackTrace();
-        }
-        staticFlowEntryPusher.restApi = restApi;
-        staticFlowEntryPusher.startUp(null);    // again, to hack unittest
-        
-        assert(staticFlowEntryPusher.entry2dpid.containsValue(TestSwitch1DPID));
-        assert(staticFlowEntryPusher.entriesFromStorage.containsValue(FlowMod1));
-        assert(staticFlowEntryPusher.entriesFromStorage.containsValue(FlowMod2));
-        assert(staticFlowEntryPusher.entriesFromStorage.containsValue(FlowMod3));
-        
-        // Send a notification that we've changed to slave
-        mfp.dispatchRoleChanged(null, Role.SLAVE);
-        // Make sure we've removed all our entries
-        assert(staticFlowEntryPusher.entry2dpid.isEmpty());
-        assert(staticFlowEntryPusher.entriesFromStorage.isEmpty());
-        
-        // Send a notification that we've changed to master
-        mfp.dispatchRoleChanged(Role.SLAVE, Role.MASTER);  
-        // Make sure we've learned the entries
-        assert(staticFlowEntryPusher.entry2dpid.containsValue(TestSwitch1DPID));
-        assert(staticFlowEntryPusher.entriesFromStorage.containsValue(FlowMod1));
-        assert(staticFlowEntryPusher.entriesFromStorage.containsValue(FlowMod2));
-        assert(staticFlowEntryPusher.entriesFromStorage.containsValue(FlowMod3));
-    }
-}
-*/