blob: f7bc6178acd02f08238f99a80df80ef8c93275c5 [file] [log] [blame]
tom3065d122014-09-03 21:56:43 -07001package org.onlab.onos.net;
2
3import com.google.common.testing.EqualsTester;
4import org.junit.Test;
5import org.onlab.onos.net.provider.ProviderId;
6
tom3065d122014-09-03 21:56:43 -07007import static org.junit.Assert.assertEquals;
8import static org.onlab.onos.net.Device.Type.SWITCH;
tomca20e0c2014-09-03 23:22:24 -07009import static org.onlab.onos.net.DeviceId.deviceId;
tom3065d122014-09-03 21:56:43 -070010
11/**
12 * Test of the default device model entity.
13 */
14public class DefaultDeviceTest {
15
tom7e02cda2014-09-18 12:05:46 -070016 private static final ProviderId PID = new ProviderId("of", "foo");
tomca20e0c2014-09-03 23:22:24 -070017 private static final DeviceId DID1 = deviceId("of:foo");
18 private static final DeviceId DID2 = deviceId("of:bar");
tom3065d122014-09-03 21:56:43 -070019 private static final String MFR = "whitebox";
20 private static final String HW = "1.1.x";
21 private static final String SW = "3.9.1";
22 private static final String SN1 = "43311-12345";
23 private static final String SN2 = "42346-43512";
24
25
26 @Test
27 public void testEquality() {
28 Device d1 = new DefaultDevice(PID, DID1, SWITCH, MFR, HW, SW, SN1);
29 Device d2 = new DefaultDevice(PID, DID1, SWITCH, MFR, HW, SW, SN1);
30 Device d3 = new DefaultDevice(PID, DID2, SWITCH, MFR, HW, SW, SN2);
31 Device d4 = new DefaultDevice(PID, DID2, SWITCH, MFR, HW, SW, SN2);
32 Device d5 = new DefaultDevice(PID, DID2, SWITCH, MFR, HW, SW, SN1);
33
34 new EqualsTester().addEqualityGroup(d1, d2)
35 .addEqualityGroup(d3, d4)
36 .addEqualityGroup(d5)
37 .testEquals();
38 }
39
40 @Test
41 public void basics() {
42 Device device = new DefaultDevice(PID, DID1, SWITCH, MFR, HW, SW, SN1);
tom5a9383a2014-10-02 07:33:52 -070043 validate(device);
44 }
45
46 @Test
47 public void annotations() {
48 Device device = new DefaultDevice(PID, DID1, SWITCH, MFR, HW, SW, SN1,
49 DefaultAnnotations.builder().set("foo", "bar").build());
50 validate(device);
51 assertEquals("incorrect provider", "bar", device.annotations().value("foo"));
52 }
53
54 private void validate(Device device) {
tom3065d122014-09-03 21:56:43 -070055 assertEquals("incorrect provider", PID, device.providerId());
56 assertEquals("incorrect id", DID1, device.id());
57 assertEquals("incorrect type", SWITCH, device.type());
58 assertEquals("incorrect manufacturer", MFR, device.manufacturer());
59 assertEquals("incorrect hw", HW, device.hwVersion());
60 assertEquals("incorrect sw", SW, device.swVersion());
61 assertEquals("incorrect serial", SN1, device.serialNumber());
62 assertEquals("incorrect serial", SN1, device.serialNumber());
63 }
64
tom5a9383a2014-10-02 07:33:52 -070065}