diff options
author | 2015-10-26 15:54:01 +0800 | |
---|---|---|
committer | 2015-10-26 15:54:01 +0800 | |
commit | f0852ed9a1ae6f7cece7f76c00722b3932d8bb69 (patch) | |
tree | 52b05bef4a38d58f60d6cfec763daf3703754046 /framework/scripts/function_test/Teston/testcases/FUNCvirNetNB/dependencies | |
parent | 711c5e1ffd4af8ee38c45b71ff114319fc980c1d (diff) |
write NBI-network related scripts
JIRA:ONOSFW-65
the script include:
1、create networks
2、update networks
3、delete networks
4、show networks
Change-Id: I7159219f7dad70b7e724ed232b230b089e92e000
Signed-off-by: lanqinglong <lanqinglong@huawei.com>
Diffstat (limited to 'framework/scripts/function_test/Teston/testcases/FUNCvirNetNB/dependencies')
-rw-r--r-- | framework/scripts/function_test/Teston/testcases/FUNCvirNetNB/dependencies/Nbdata.py | 212 | ||||
-rw-r--r-- | framework/scripts/function_test/Teston/testcases/FUNCvirNetNB/dependencies/__init__.py | 0 |
2 files changed, 212 insertions, 0 deletions
diff --git a/framework/scripts/function_test/Teston/testcases/FUNCvirNetNB/dependencies/Nbdata.py b/framework/scripts/function_test/Teston/testcases/FUNCvirNetNB/dependencies/Nbdata.py new file mode 100644 index 00000000..9b3b9782 --- /dev/null +++ b/framework/scripts/function_test/Teston/testcases/FUNCvirNetNB/dependencies/Nbdata.py @@ -0,0 +1,212 @@ +""" +This file provide the data +lanqinglong@huawei.com +""" +import json + +class NetworkData: + + def __init__(self): + self.id = '' + self.state = 'ACTIVE' + self.name = 'onosfw-1' + self.physicalNetwork = 'none' + self.admin_state_up = True + self.tenant_id = '' + self.routerExternal = False + self.type ='LOCAL' + self.segmentationID = '6' + self.shared = False + + def DictoJson(self): + + if self.id =='' or self.tenant_id == '': + print 'Id and tenant id is necessary!' + + Dicdata = {} + if self.id !='': + Dicdata['id'] = self.id + if self.state != '': + Dicdata['status'] = self.state + if self.name !='': + Dicdata['name'] = self.name + if self.physicalNetwork !='': + Dicdata['provider:physical_network'] = self.physicalNetwork + if self.admin_state_up !='': + Dicdata['admin_state_up'] = self.admin_state_up + if self.tenant_id !='': + Dicdata['tenant_id'] = self.tenant_id + if self.routerExternal !='': + Dicdata['router:external'] = self.routerExternal + if self.type !='': + Dicdata['provider:network_type'] = self.type + if self.segmentationID !='': + Dicdata['provider:segmentation_id'] = self.segmentationID + if self.shared !='': + Dicdata['shared'] = self.shared + + Dicdata = {'network': Dicdata} + + return json.dumps(Dicdata,indent=4) + + def Ordered(self,obj): + + if isinstance(obj, dict): + return sorted((k,self.Ordered(v)) for k, v in obj.items()) + if isinstance(obj, list): + return sorted(self.Ordered(x) for x in obj ) + else: + return obj + + def JsonCompare(self,SourceData,DestiData,FirstPara,SecondPara): + + try: + SourceCompareDataDic = json.loads(SourceData) + DestiCompareDataDic = json.loads(DestiData) + except ValueError: + print "SourceData or DestData is not JSON Type!" + return False + + try: + Socom = SourceCompareDataDic[FirstPara][SecondPara] + Decom = DestiCompareDataDic[FirstPara][SecondPara] + except KeyError,error: + print "Key error ,This key is not found:%s"%error + return False + + if str(Socom).lower()== str(Decom).lower(): + return True + else: + print "Source Compare data:"+FirstPara+"."+SecondPara+"="+str(Socom) + print "Dest Compare data: "+FirstPara+"."+SecondPara+"="+str(Decom) + return False + +class SubnetData(NetworkData): + + def __init__(self): + self.id = '' + self.tenant_id = '' + self.network_id = '' + self.nexthop = '192.168.1.1' + self.destination = '192.168.1.1/24' + self.start = '192.168.2.2' + self.end = '192.168.2.254' + self.ipv6_address_mode = 'DHCPV6_STATELESS' + self.ipv6_ra_mode = 'DHCPV6_STATELESS' + self.cidr = '192.168.1.1/24' + self.enable_dhcp = True + self.dns_nameservers = 'aaa' + self.gateway_ip = '192.168.2.1' + self.ip_version = '4' + self.shared = False + self.name = 'demo-subnet' + + def DictoJson(self): + if self.id =='' or self.tenant_id == '': + print 'Id and tenant id is necessary!' + + Dicdata = {} + host_routesdata = [] + host_routesdata.append({'nexthop': self.nexthop,'destination': self.destination}) + allocation_pools = [] + allocation_pools.append({'start': self.start,'end':self.end}) + + if self.id != '': + Dicdata['id'] = self.id + if self.network_id != '': + Dicdata['network_id'] = self.network_id + if self.name != '': + Dicdata['name'] = self.name + if self.nexthop != '': + Dicdata['host_routes'] = host_routesdata + if self.tenant_id != '': + Dicdata['tenant_id'] = self.tenant_id + if self.start != '': + Dicdata['allocation_pools'] = allocation_pools + if self.shared != '': + Dicdata['shared'] = self.shared + if self.ipv6_address_mode != '': + Dicdata['ipv6_address_mode'] = self.ipv6_address_mode + if self.ipv6_ra_mode != '': + Dicdata['ipv6_ra_mode'] = self.ipv6_ra_mode + if self.cidr != '': + Dicdata['cidr'] = self.cidr + if self.enable_dhcp != '': + Dicdata['enable_dhcp'] = self.enable_dhcp + if self.dns_nameservers != '': + Dicdata['dns_nameservers'] = self.dns_nameservers + if self.gateway_ip != '': + Dicdata['gateway_ip'] = self.gateway_ip + if self.ip_version != '': + Dicdata['ip_version'] = self.ip_version + + Dicdata = {'subnet': Dicdata} + + return json.dumps(Dicdata,indent=4) + +class VirtualPortData(NetworkData): + + def __init__(self): + self.id = '' + self.state = 'ACTIVE' + self.bindingHostId = 'fa:16:3e:76:8e:88' + self.allowedAddressPairs = [{'mac_address':'fa:16:3e:76:8e:88','ip_address':'192.168.1.1'}] + self.deviceOwner = 'none' + self.fixedIp = [] + self.securityGroups = [{'securityGroup':'asd'}] + self.adminStateUp = True + self.network_id = '' + self.tenant_id = '' + self.subnet_id = '' + self.bindingvifDetails = 'port_filter' + self.bindingvnicType = 'normal' + self.bindingvifType = 'ovs' + self.macAddress = 'fa:16:3e:76:8e:88' + self.deviceId = 'a08aa' + self.name = 'u' + + def DictoJson(self): + if self.id == '' or self.tenant_id == ' ' or \ + self.network_id == '' or self.subnet_id == '': + print 'Id/tenant id/networkid/subnetId is necessary!' + + Dicdata = {} + fixedIp =[] + fixedIp.append({'subnet_id':self.subnet_id,'ip_address':'192.168.1.4'}) + allocation_pools = [] + + if self.id != '': + Dicdata['id'] = self.id + if self.state != '': + Dicdata['status'] = self.state + if self.bindingHostId != '': + Dicdata['binding:host_id'] = self.bindingHostId + if self.allowedAddressPairs != '': + Dicdata['allowed_address_pairs'] = self.allowedAddressPairs + if self.deviceOwner != '': + Dicdata['device_owner'] = self.deviceOwner + if self.securityGroups != '': + Dicdata['security_groups'] = self.securityGroups + if self.adminStateUp != '': + Dicdata['admin_state_up'] = self.adminStateUp + if self.network_id != '': + Dicdata['network_id'] = self.network_id + if self.tenant_id != '': + Dicdata['tenant_id'] = self.tenant_id + if self.bindingvifDetails != '': + Dicdata['binding:vif_details'] = self.bindingvifDetails + if self.bindingvnicType != '': + Dicdata['binding:vnic_type'] = self.bindingvnicType + if self.bindingvifType != '': + Dicdata['binding:vif_type'] = self.bindingvifType + if self.macAddress != '': + Dicdata['mac_address'] = self.macAddress + if self.deviceId != '': + Dicdata['device_id'] = self.deviceId + if self.name != '': + Dicdata['name'] = self.name + + Dicdata['fixed_ips'] = fixedIp + Dicdata = {'port': Dicdata} + + return json.dumps(Dicdata,indent=4)
\ No newline at end of file diff --git a/framework/scripts/function_test/Teston/testcases/FUNCvirNetNB/dependencies/__init__.py b/framework/scripts/function_test/Teston/testcases/FUNCvirNetNB/dependencies/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/framework/scripts/function_test/Teston/testcases/FUNCvirNetNB/dependencies/__init__.py |