コード例 #1
0
ファイル: test_acl.py プロジェクト: saulwold/x.stx-config
    def setUp(self):
        super(TestACL, self).setUp()

        self.environ = {'fake.cache': utils.FakeMemcache()}
        self.fake_node = db_utils.get_test_ihost()
        self.dbapi = db_api.get_instance()
        self.node_path = '/ihosts/%s' % self.fake_node['uuid']
コード例 #2
0
 def test_ihost_links(self):
     uuid = uuidutils.generate_uuid()
     ndict = dbutils.get_test_ihost(id=1,
                                    uuid=uuid,
                                    forisystemid=self.system.id)
     self.dbapi.ihost_create(ndict)
     data = self.get_json('/ihosts/1')
     self.assertIn('links', data.keys())
     self.assertEqual(len(data['links']), 2)
     self.assertIn(uuid, data['links'][0]['href'])
コード例 #3
0
 def test_detail(self):
     ndict = dbutils.get_test_ihost(forisystemid=self.system.id)
     ihost = self.dbapi.ihost_create(ndict)
     data = self.get_json('/ihosts/detail')
     self.assertEqual(ihost['uuid'], data['ihosts'][0]["uuid"])
     self.assertIn('hostname', data['ihosts'][0])
     self.assertIn('administrative', data['ihosts'][0])
     self.assertIn('operational', data['ihosts'][0])
     self.assertIn('availability', data['ihosts'][0])
     self.assertIn('serialid', data['ihosts'][0])
     self.assertIn('location', data['ihosts'][0])
コード例 #4
0
 def test_create_ihost(self):
     # Test skipped because updating ihost's datamodel in utils.py has
     # caused this test to throw an error saying:
     # webtest.app.AppError: Bad response: 400 Bad Request (not 200 OK or
     # 3xx redirect for http://localhost/v1/ihosts)
     # '{"error_message": "{\\"debuginfo\\": null, \\"faultcode\\":
     # \\"Client\\", \\"faultstring\\": \\"Unknown attribute for argument
     # host: recordtype\\"}"}'
     self.skipTest("Skipping to prevent failure notification on Jenkins")
     ndict = dbutils.get_test_ihost()
     self.post_json('/ihosts', ndict)
     result = self.get_json('/ihosts/%s' % ndict['uuid'])
     self.assertEqual(ndict['uuid'], result['uuid'])
コード例 #5
0
 def _create_storage_ihost(self, hostname):
     self.host_index += 1
     ihost_dict = dbutils.get_test_ihost(
         id=self.host_index,
         forisystemid=self.system.id,
         hostname=hostname,
         uuid=uuidutils.generate_uuid(),
         mgmt_mac="{}-{}".format(hostname, self.host_index),
         mgmt_ip="{}-{}".format(hostname, self.host_index),
         personality='storage',
         administrative='locked',
         operational='disabled',
         availability='online',
         invprovision='unprovisioned')
     return self.dbapi.ihost_create(ihost_dict)
コード例 #6
0
 def test_delete_ports_subresource(self):
     # Test skipped because updating ihost's datamodel in utils.py has
     # caused this test to throw an error saying:
     # webtest.app.AppError: Bad response: 400 Bad Request (not 200 OK or
     # 3xx redirect for http://localhost/v1/ihosts)
     # '{"error_message": "{\\"debuginfo\\": null, \\"faultcode\\":
     # \\"Client\\", \\"faultstring\\": \\"Unknown attribute for argument
     # host: recordtype\\"}"}'
     self.skipTest("Skipping to prevent failure notification on Jenkins")
     # get 404 resource not found instead of 403
     ndict = dbutils.get_test_ihost()
     self.post_json('/ihosts', ndict)
     response = self.delete('/ihosts/%s/ports' % ndict['uuid'],
                            expect_errors=True)
     self.assertEqual(response.status_int, 403)
コード例 #7
0
    def test_one(self):
        # Test skipped because a MismatchError is thrown which lists all of
        # ihost's attributes prefixed with u' and then ends with "matches
        # Contains('serialid')"
        self.skipTest("Skipping to prevent failure notification on Jenkins")
        ndict = dbutils.get_test_ihost(forisystemid=self.system.id)
        ihost = self.dbapi.ihost_create(ndict)
        data = self.get_json('/ihosts')
        self.assertEqual(ihost['uuid'], data['ihosts'][0]["uuid"])
        self.assertIn('hostname', data['ihosts'][0])
        self.assertIn('administrative', data['ihosts'][0])
        self.assertIn('operational', data['ihosts'][0])
        self.assertIn('availability', data['ihosts'][0])

        self.assertNotIn('serialid', data['ihosts'][0])
        self.assertNotIn('location', data['ihosts'][0])
コード例 #8
0
    def test_collection_links(self):
        ihosts = []
        for id in range(100):
            ndict = dbutils.get_test_ihost(id=id,
                                           hostname=id,
                                           mgmt_mac=id,
                                           forisystemid=self.system.id,
                                           mgmt_ip="%s.%s.%s.%s" %
                                           (id, id, id, id),
                                           uuid=uuidutils.generate_uuid())
            ihost = self.dbapi.ihost_create(ndict)
            ihosts.append(ihost['uuid'])
        data = self.get_json('/ihosts/?limit=100')
        self.assertEqual(len(data['ihosts']), 100)

        next_marker = data['ihosts'][-1]['uuid']
        self.assertIn(next_marker, data['next'])
コード例 #9
0
    def test_many(self):
        ihosts = []
        for id in range(1000):  # there is a limit of 1000 returned by json
            ndict = dbutils.get_test_ihost(id=id,
                                           hostname=id,
                                           mgmt_mac=id,
                                           forisystemid=self.system.id,
                                           mgmt_ip="%s.%s.%s.%s" %
                                           (id, id, id, id),
                                           uuid=uuidutils.generate_uuid())
            s = self.dbapi.ihost_create(ndict)
            ihosts.append(s['uuid'])
        data = self.get_json('/ihosts')
        self.assertEqual(len(ihosts), len(data['ihosts']))

        uuids = [n['uuid'] for n in data['ihosts']]
        self.assertEqual(ihosts.sort(), uuids.sort())  # uuids.sort
コード例 #10
0
    def test_ports_subresource(self):
        ndict = dbutils.get_test_ihost(forisystemid=self.system.id)
        self.dbapi.ihost_create(ndict)

        for id in range(2):
            pdict = dbutils.get_test_port(id=id,
                                          host_id=ndict['id'],
                                          pciaddr=id,
                                          uuid=uuidutils.generate_uuid())
            ihost_id = ndict['id']
            self.dbapi.ethernet_port_create(ihost_id, pdict)

        data = self.get_json('/ihosts/%s/ports' % ndict['uuid'])
        self.assertEqual(len(data['ports']), 2)
        self.assertNotIn('next', data.keys())

        # Test collection pagination
        data = self.get_json('/ihosts/%s/ports?limit=1' % ndict['uuid'])
        self.assertEqual(len(data['ports']), 1)
        self.assertIn('next', data.keys())
コード例 #11
0
 def setUp(self):
     super(RPCAPITestCase, self).setUp()
     self.context = context.get_admin_context()
     self.dbapi = dbapi.get_instance()
     self.fake_ihost = json.to_primitive(dbutils.get_test_ihost())
コード例 #12
0
 def setUp(self):
     super(TestHostObject, self).setUp()
     self.fake_node = utils.get_test_ihost()
     self.obj_node = objects.host.from_db_object(
         self._get_db_node(self.fake_node))
     self.dbapi = db_api.get_instance()
コード例 #13
0
 def test_create_ihost_invalid_extra(self):
     ndict = dbutils.get_test_ihost(location={'foo': 0.123})
     self.assertRaises(webtest.app.AppError, self.post_json, '/ihosts',
                       ndict)
コード例 #14
0
    def test_ports_subresource_link(self):
        ndict = dbutils.get_test_ihost(forisystemid=self.system.id)
        self.dbapi.ihost_create(ndict)

        data = self.get_json('/ihosts/%s' % ndict['uuid'])
        self.assertIn('ports', data.keys())
コード例 #15
0
 def test_detail_against_single(self):
     ndict = dbutils.get_test_ihost(forisystemid=self.system.id)
     node = self.dbapi.ihost_create(ndict)
     response = self.get_json('/ihosts/%s/detail' % node['uuid'],
                              expect_errors=True)
     self.assertEqual(response.status_int, 404)
コード例 #16
0
ファイル: test_sysinv.py プロジェクト: saulwold/x.stx-config
 def _create_test_ihost(self, **kwargs):
     # ensure the system ID for proper association
     kwargs['forisystemid'] = self.system['id']
     n = utils.get_test_ihost(**kwargs)
     self.dbapi.ihost_create(n)
     return n