blob: 77f5be365d89ae656903451360ca1e4999b83aff [file] [log] [blame]
/*
* Copyright 2015-present Open Networking Foundation
*
* Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
*
* 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.onosproject.vtnrsc;
import java.util.Map;
import java.util.Set;
import org.junit.Test;
import org.onlab.packet.IpAddress;
import org.onlab.packet.MacAddress;
import org.onosproject.net.DeviceId;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.google.common.testing.EqualsTester;
import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable;
/**
* Unit tests for DefaultVirtualPort class.
*/
public class DefaultVirtualPortTest {
private Set<FixedIp> fixedIps;
private Map<String, String> propertyMap;
private Set<AllowedAddressPair> allowedAddressPairs;
private Set<SecurityGroup> securityGroups;
private VirtualPortId id1;
private VirtualPortId id2;
private String macAddressStr = "fa:12:3e:56:ee:a2";
private String ipAddress = "10.1.1.1";
private String deviceStr = "of:000000000000001";
private String tenantIdStr = "123";
private String portId1 = "1241";
private String portId2 = "1242";
private String tenantNetworkId = "1234567";
private String subnet = "1212";
private String hostIdStr = "fa:e2:3e:56:ee:a2";
private void initVirtualPortId() {
id1 = VirtualPortId.portId(portId1);
id2 = VirtualPortId.portId(portId2);
}
private void initFixedIpSet() {
FixedIp fixedIp = FixedIp.fixedIp(SubnetId.subnetId(subnet),
IpAddress.valueOf(ipAddress));
fixedIps = Sets.newHashSet();
fixedIps.add(fixedIp);
}
private void initPropertyMap() {
String deviceOwner = "james";
propertyMap = Maps.newHashMap();
propertyMap.putIfAbsent("deviceOwner", deviceOwner);
}
private void initAddressPairSet() {
allowedAddressPairs = Sets.newHashSet();
AllowedAddressPair allowedAddressPair = AllowedAddressPair
.allowedAddressPair(IpAddress.valueOf(ipAddress),
MacAddress.valueOf(macAddressStr));
allowedAddressPairs.add(allowedAddressPair);
}
private void initSecurityGroupSet() {
securityGroups = Sets.newHashSet();
}
/**
* Checks that the DefaultVirtualPort class is immutable.
*/
@Test
public void testImmutability() {
assertThatClassIsImmutable(SecurityGroup.class);
}
/**
* Checks the operation of equals().
*/
@Test
public void testEquals() {
initVirtualPortId();
initFixedIpSet();
initPropertyMap();
initAddressPairSet();
initSecurityGroupSet();
TenantNetworkId networkId = TenantNetworkId.networkId(tenantNetworkId);
MacAddress macAddress = MacAddress.valueOf(macAddressStr);
TenantId tenantId = TenantId.tenantId(tenantIdStr);
DeviceId deviceId = DeviceId.deviceId(deviceStr);
BindingHostId bindingHostId = BindingHostId.bindingHostId(hostIdStr);
VirtualPort d1 = new DefaultVirtualPort(id1, networkId, true,
propertyMap,
VirtualPort.State.ACTIVE,
macAddress, tenantId, deviceId,
fixedIps, bindingHostId,
allowedAddressPairs,
securityGroups);
VirtualPort d2 = new DefaultVirtualPort(id1, networkId, true,
propertyMap,
VirtualPort.State.ACTIVE,
macAddress, tenantId, deviceId,
fixedIps, bindingHostId,
allowedAddressPairs,
securityGroups);
VirtualPort d3 = new DefaultVirtualPort(id2, networkId, true,
propertyMap,
VirtualPort.State.ACTIVE,
macAddress, tenantId, deviceId,
fixedIps, bindingHostId,
allowedAddressPairs,
securityGroups);
new EqualsTester().addEqualityGroup(d1, d2).addEqualityGroup(d3)
.testEquals();
}
}