예제 #1
0
 def _test_create_gateway_device(self,
                                 name,
                                 connector_type,
                                 connector_ip,
                                 client_certificate=None,
                                 client_certificate_file=None,
                                 must_raise=False):
     cmd = nwgw.CreateGatewayDevice(test_cli20.MyApp(sys.stdout), None)
     myid = 'myid'
     extra_body = {'connector_type': connector_type,
                   'connector_ip': connector_ip,
                   'client_certificate': client_certificate}
     self.mox.StubOutWithMock(nwgw, 'read_cert_file')
     if client_certificate_file:
         nwgw.read_cert_file(mox.IgnoreArg()).AndReturn('xyz')
         extra_body['client_certificate'] = 'xyz'
     self.mox.ReplayAll()
     position_names = ['name', ]
     position_values = [name, ]
     args = []
     for (k, v) in extra_body.iteritems():
         if (k == 'client_certificate' and client_certificate_file):
             v = client_certificate_file
             k = 'client_certificate_file'
         # Append argument only if value for it was specified
         if v:
             args.extend(['--%s' % k.replace('_', '-'), v])
     # The following is just for verifying the call fails as expected when
     # both certificate and certificate file are specified. The extra
     # argument added is client-certificate since the loop above added
     # client-certificate-file
     if client_certificate_file and client_certificate:
         args.extend(['--client-certificate', client_certificate_file])
     args.append(name)
     if must_raise:
         with test_cli20.capture_std_streams():
             self.assertRaises(
                 SystemExit, self._test_create_resource,
                 self.dev_resource, cmd, name, myid, args,
                 position_names, position_values, extra_body=extra_body)
     else:
         self._test_create_resource(
             self.dev_resource, cmd, name, myid, args,
             position_names, position_values, extra_body=extra_body)
     self.mox.UnsetStubs()
    def _test_update_gateway_device(self,
                                    name=None,
                                    connector_type=None,
                                    connector_ip=None,
                                    client_certificate=None,
                                    client_certificate_file=None,
                                    must_raise=False):
        cmd = nwgw.UpdateGatewayDevice(test_cli20.MyApp(sys.stdout), None)
        myid = 'myid'
        extra_body = {}
        self.mox.StubOutWithMock(nwgw, 'read_cert_file')
        if client_certificate_file:
            nwgw.read_cert_file(mox.IgnoreArg()).AndReturn('xyz')
        self.mox.ReplayAll()
        args = [myid]

        def process_arg(argname, arg):
            if arg:
                extra_body[argname] = arg
                args.extend(['--%s' % argname.replace('_', '-'), arg])

        process_arg('name', name)
        process_arg('connector_type', connector_type)
        process_arg('connector_ip', connector_ip)
        process_arg('client_certificate', client_certificate)
        if client_certificate_file:
            extra_body['client_certificate'] = 'xyz'
            args.extend(['--client-certificate-file', client_certificate_file])
        if must_raise:
            with test_cli20.capture_std_streams():
                self.assertRaises(SystemExit,
                                  self._test_update_resource,
                                  self.dev_resource,
                                  cmd,
                                  myid,
                                  args,
                                  extrafields=extra_body)
        else:
            self._test_update_resource(self.dev_resource,
                                       cmd,
                                       myid,
                                       args,
                                       extrafields=extra_body)
        self.mox.UnsetStubs()
    def _test_update_gateway_device(self,
                                    name=None,
                                    connector_type=None,
                                    connector_ip=None,
                                    client_certificate=None,
                                    client_certificate_file=None,
                                    must_raise=False):
        cmd = nwgw.UpdateGatewayDevice(test_cli20.MyApp(sys.stdout), None)
        myid = 'myid'
        extra_body = {}
        self.mox.StubOutWithMock(nwgw, 'read_cert_file')
        if client_certificate_file:
            nwgw.read_cert_file(mox.IgnoreArg()).AndReturn('xyz')
        self.mox.ReplayAll()
        args = [myid]

        def process_arg(argname, arg):
            if arg:
                extra_body[argname] = arg
                args.extend(['--%s' % argname.replace('_', '-'), arg])

        process_arg('name', name)
        process_arg('connector_type', connector_type)
        process_arg('connector_ip', connector_ip)
        process_arg('client_certificate', client_certificate)
        if client_certificate_file:
            extra_body['client_certificate'] = 'xyz'
            args.extend(['--client-certificate-file',
                         client_certificate_file])
        if must_raise:
            with test_cli20.capture_std_streams():
                self.assertRaises(
                    SystemExit, self._test_update_resource,
                    self.dev_resource, cmd, myid, args,
                    extrafields=extra_body)
        else:
            self._test_update_resource(
                self.dev_resource, cmd, myid, args,
                extrafields=extra_body)
        self.mox.UnsetStubs()