Move adsal into its own subdirectory.
[controller.git] / opendaylight / hosttracker_new / implementation / src / test / java / org / opendaylight / controller / hosttracker / internal / DeviceUniqueIndexTest.java
diff --git a/opendaylight/hosttracker_new/implementation/src/test/java/org/opendaylight/controller/hosttracker/internal/DeviceUniqueIndexTest.java b/opendaylight/hosttracker_new/implementation/src/test/java/org/opendaylight/controller/hosttracker/internal/DeviceUniqueIndexTest.java
deleted file mode 100644 (file)
index a2a1004..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 2012 Big Switch Networks, Inc.
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the
- * "License"); you may not use this file except in compliance with the
- * License. You may obtain a copy of the License at
- *
- *      http://www.eclipse.org/legal/epl-v10.html
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-package org.opendaylight.controller.hosttracker.internal;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.EnumSet;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import junit.framework.TestCase;
-
-import org.junit.Test;
-import org.opendaylight.controller.hosttracker.Entity;
-import org.opendaylight.controller.hosttracker.IDeviceService.DeviceField;
-import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.controller.sal.core.NodeConnector;
-import org.opendaylight.controller.sal.core.NodeConnector.NodeConnectorIDType;
-
-/**
- *
- * @author gregor
- *
- */
-public class DeviceUniqueIndexTest extends TestCase {
-    protected Entity e1a;
-    protected Entity e1b;
-    protected Device d1;
-    protected Entity e2;
-    protected Entity e2alt;
-    protected Entity e3;
-    protected Entity e3_ip;
-    protected Entity e4;
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        Node n1 = new Node(Node.NodeIDType.OPENFLOW, Long.valueOf(1L));
-        NodeConnector n1_1 = new NodeConnector(NodeConnectorIDType.OPENFLOW,
-                Short.valueOf((short) 1), n1);
-        e1a = new Entity(1L, (short) 1, 1, n1_1, new Date());
-        e1b = new Entity(1L, (short) 2, 1, n1_1, new Date());
-        List<Entity> d1Entities = new ArrayList<Entity>(2);
-        d1Entities.add(e1a);
-        d1Entities.add(e1b);
-        d1 = new Device(null, Long.valueOf(1), null, null, null, d1Entities,
-                null);
-
-        Node n2 = new Node(Node.NodeIDType.OPENFLOW, Long.valueOf(2L));
-        NodeConnector n2_2 = new NodeConnector(NodeConnectorIDType.OPENFLOW,
-                Short.valueOf((short) 2), n2);
-        Node n3 = new Node(Node.NodeIDType.OPENFLOW, Long.valueOf(3L));
-        NodeConnector n3_3 = new NodeConnector(NodeConnectorIDType.OPENFLOW,
-                Short.valueOf((short) 3), n3);
-
-        // e2 and e2 alt match in MAC and VLAN
-        e2 = new Entity(2L, (short) 2, 2, n2_2, new Date());
-        e2alt = new Entity(2, (short) 2, null, null, null);
-
-        // IP is null
-        e3 = new Entity(3L, (short) 3, null, n3_3, new Date());
-        e3_ip = new Entity(3L, (short) 3, 3, n3_3, new Date());
-
-        // IP and switch and port are null
-        e4 = new Entity(4L, (short) 4, null, null, new Date());
-    }
-
-    /*
-     * Checks that the iterator it returns the elements in the Set expected
-     * Doesn't check how often an element is returned as long it's at least once
-     */
-    protected void verifyIterator(Set<Long> expected, Iterator<Long> it) {
-        HashSet<Long> actual = new HashSet<Long>();
-        while (it.hasNext()) {
-            actual.add(it.next());
-        }
-        assertEquals(expected, actual);
-    }
-
-    @Test
-    public void testDeviceUniqueIndex() {
-        DeviceUniqueIndex idx1 = new DeviceUniqueIndex(EnumSet.of(
-                DeviceField.MAC, DeviceField.VLAN));
-
-        idx1.updateIndex(d1, d1.getDeviceKey());
-        idx1.updateIndex(e2, 2L);
-
-        // -------------
-        // Test findByEntity lookups
-        assertEquals(Long.valueOf(1L), idx1.findByEntity(e1a));
-        assertEquals(Long.valueOf(1L), idx1.findByEntity(e1b));
-        assertEquals(Long.valueOf(2L), idx1.findByEntity(e2));
-        // we didn't add e2alt but since they key fields are the same we
-        // should find it
-        assertEquals(Long.valueOf(2L), idx1.findByEntity(e2alt));
-        assertEquals(null, idx1.findByEntity(e3));
-        assertEquals(null, idx1.findByEntity(e4));
-
-        // -------------
-        // Test getAll()
-        HashSet<Long> expectedKeys = new HashSet<Long>();
-        expectedKeys.add(1L);
-        expectedKeys.add(2L);
-        verifyIterator(expectedKeys, idx1.getAll());
-
-        // -------------
-        // Test queryByEntity()
-        verifyIterator(Collections.<Long> singleton(1L),
-                idx1.queryByEntity(e1a));
-        verifyIterator(Collections.<Long> singleton(1L),
-                idx1.queryByEntity(e1b));
-        verifyIterator(Collections.<Long> singleton(2L), idx1.queryByEntity(e2));
-        verifyIterator(Collections.<Long> singleton(2L),
-                idx1.queryByEntity(e2alt));
-        assertEquals(false, idx1.queryByEntity(e3).hasNext());
-        assertEquals(false, idx1.queryByEntity(e3).hasNext());
-
-        // -------------
-        // Test removal
-        idx1.removeEntity(e1a, 42L); // No-op. e1a isn't mapped to this key
-        assertEquals(Long.valueOf(1L), idx1.findByEntity(e1a));
-        idx1.removeEntity(e1a, 1L);
-        assertEquals(null, idx1.findByEntity(e1a));
-        assertEquals(Long.valueOf(1L), idx1.findByEntity(e1b));
-        assertEquals(Long.valueOf(2L), idx1.findByEntity(e2));
-        idx1.removeEntity(e2);
-        assertEquals(null, idx1.findByEntity(e2));
-        assertEquals(Long.valueOf(1L), idx1.findByEntity(e1b));
-
-        // -------------
-        // Test null keys
-        DeviceUniqueIndex idx2 = new DeviceUniqueIndex(EnumSet.of(
-                DeviceField.IPV4, DeviceField.SWITCHPORT));
-        // only one key field is null
-        idx2.updateIndex(e3, 3L);
-        assertEquals(Long.valueOf(3L), idx2.findByEntity(e3));
-        assertEquals(null, idx2.findByEntity(e3_ip));
-        // all key fields are null
-        idx2.updateIndex(e4, 4L);
-        assertEquals(null, idx2.findByEntity(e4));
-        Device d4 = new Device(null, 4L, null, null, null,
-                Collections.<Entity> singleton(e4), null);
-        idx2.updateIndex(d4, 4L);
-        assertEquals(null, idx2.findByEntity(e4));
-
-        // -------------
-        // entity already exists with different deviceKey
-        DeviceUniqueIndex idx3 = new DeviceUniqueIndex(EnumSet.of(
-                DeviceField.MAC, DeviceField.VLAN));
-        idx3.updateIndex(e1a, 42L);
-        assertEquals(false, idx3.updateIndex(d1, 1L));
-        // TODO: shouldn't this fail as well so that the behavior
-        // is consistent?
-        idx3.updateIndex(e1a, 1L);
-        // anyways. We can now add d1 ;-)
-        assertEquals(true, idx3.updateIndex(d1, 1L));
-    }
-}