def CASE13( self, main ): """ Test Post Error Json Create Virtualport """ import os try: from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import NetworkData from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import SubnetData from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import VirtualPortData except ImportError: main.log.exception( "Something wrong with import file or code error." ) main.log.info( "Import Error, please check!" ) main.cleanAndExit() main.log.info( "ONOS Post Error Json Create Subnet test Start" ) main.case( "Virtual Network NBI Test - Port" ) main.caseExplanation = "Test Subnet Post With Error json " +\ "The wrong Json can't create port successfully" ctrlip = os.getenv( main.params[ 'CTRL' ][ 'ip1' ] ) httpport = main.params[ 'HTTP' ][ 'port' ] path = main.params[ 'HTTP' ][ 'path' ] main.step( "Generate Post Data" ) network = NetworkData() network.id = '030d6d3d-fa36-45bf-ae2b-4f4bc43a54dc' network.tenant_id = '26cd996094344a0598b0a1af1d525cdc' subnet = SubnetData() subnet.id = "e44bd655-e22c-4aeb-b1e9-ea1606875178" subnet.tenant_id = network.tenant_id subnet.network_id = network.id port = VirtualPortData() port.id = "9352e05c-58b8-4f2c-b4df-c20435ser56466" port.subnet_id = subnet.id port.tenant_id = network.tenant_id port.network_id = network.id # The port.adminStateUp should be True or False,when the adminStateUp is 'tttttttttttt',the Json can't post. port.adminStateUp = 'tttttttttttt' networkpostdata = network.DictoJson() subnetpostdata = subnet.DictoJson() portpostdata = port.DictoJson() ctrl = main.Cluster.active( 0 ) main.step( "Post Network Data via HTTP(Post port need post network)" ) Poststatus, result = ctrl.REST.send( ctrlip, httpport, '', path + 'networks/', 'POST', None, networkpostdata ) utilities.assert_equals( expect='200', actual=Poststatus, onpass="******", onfail="Post Network Failed " + str( Poststatus ) + "," + str( result ) ) main.step( "Post Subnet Data via HTTP(Post port need post subnet)" ) Poststatus, result = ctrl.REST.send( ctrlip, httpport, '', path + 'subnets/', 'POST', None, subnetpostdata ) utilities.assert_equals( expect='202', actual=Poststatus, onpass="******", onfail="Post Subnet Failed " + str( Poststatus ) + "," + str( result ) ) main.step( "Post Port Data via HTTP" ) Poststatus, result = ctrl.REST.send( ctrlip, httpport, '', path + 'ports/', 'POST', None, portpostdata ) utilities.assert_equals( expect='500', actual=Poststatus, onpass="******", onfail="Wrong Json can post successfully" )