示例#1
0
 def test_create_cluster_with_timeout_negative(self):
     bdict = apiutils.cluster_post_data()
     bdict['create_timeout'] = -1
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(400, response.status_int)
     self.assertTrue(response.json['errors'])
示例#2
0
 def test_create_cluster_with_non_existent_cluster_template_name(self):
     modelname = 'notfound'
     bdict = apiutils.cluster_post_data(cluster_template_id=modelname)
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(400, response.status_int)
     self.assertTrue(response.json['errors'])
示例#3
0
 def test_create_cluster_with_non_existent_cluster_template_name(self):
     modelname = 'notfound'
     bdict = apiutils.cluster_post_data(cluster_template_id=modelname)
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(400, response.status_int)
     self.assertTrue(response.json['errors'])
示例#4
0
 def test_create_cluster_with_multi_keypair_same_name(self):
     bdict = apiutils.cluster_post_data()
     self.mock_valid_os_res.side_effect = exception.Conflict('keypair2')
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertTrue(self.mock_valid_os_res.called)
     self.assertEqual(409, response.status_int)
示例#5
0
 def test_create_cluster_with_non_existent_cluster_template_id(self):
     temp_uuid = uuidutils.generate_uuid()
     bdict = apiutils.cluster_post_data(cluster_template_id=temp_uuid)
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(400, response.status_int)
     self.assertTrue(response.json['errors'])
示例#6
0
 def test_create_cluster_with_timeout_negative(self):
     bdict = apiutils.cluster_post_data()
     bdict['create_timeout'] = -1
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(400, response.status_int)
     self.assertTrue(response.json['errors'])
示例#7
0
 def test_create_cluster_with_multi_images_same_name(self):
     bdict = apiutils.cluster_post_data()
     self.mock_valid_os_res.side_effect = exception.Conflict('test-img')
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertTrue(self.mock_valid_os_res.called)
     self.assertEqual(409, response.status_int)
示例#8
0
 def test_create_cluster_with_non_existent_cluster_template_id(self):
     temp_uuid = uuidutils.generate_uuid()
     bdict = apiutils.cluster_post_data(cluster_template_id=temp_uuid)
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(400, response.status_int)
     self.assertTrue(response.json['errors'])
示例#9
0
 def test_policy_disallow_create(self):
     bdict = apiutils.cluster_post_data(name='cluster_example_A')
     self._common_policy_check("cluster:create",
                               self.post_json,
                               '/clusters',
                               bdict,
                               expect_errors=True)
示例#10
0
    def test_create_cluster_generate_uuid(self):
        bdict = apiutils.cluster_post_data()
        del bdict['uuid']

        response = self.post_json('/clusters', bdict)
        self.assertEqual('application/json', response.content_type)
        self.assertEqual(202, response.status_int)
        self.assertTrue(uuidutils.is_uuid_like(response.json['uuid']))
示例#11
0
 def test_create_cluster_with_flavor_id(self):
     bdict = apiutils.cluster_post_data()
     bdict['flavor_id'] = 'm2.small'
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
     cluster, timeout = self.mock_cluster_create.call_args
     self.assertEqual('m2.small', cluster[0].flavor_id)
示例#12
0
 def test_create_cluster_with_labels(self):
     bdict = apiutils.cluster_post_data()
     bdict['labels'] = {'key': 'value'}
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
     cluster, timeout = self.mock_cluster_create.call_args
     self.assertEqual({'key': 'value'}, cluster[0].labels)
示例#13
0
 def test_create_cluster_with_no_lb_multi_node(self):
     cluster_template = obj_utils.create_test_cluster_template(
         self.context, name='foo', uuid='foo', master_lb_enabled=False)
     bdict = apiutils.cluster_post_data(
         cluster_template_id=cluster_template.name, master_count=3)
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(400, response.status_int)
示例#14
0
 def test_create_cluster_with_labels(self):
     bdict = apiutils.cluster_post_data()
     bdict['labels'] = {'key': 'value'}
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
     cluster, timeout = self.mock_cluster_create.call_args
     self.assertEqual({'key': 'value'}, cluster[0].labels)
示例#15
0
 def test_create_cluster_with_docker_volume_size(self):
     bdict = apiutils.cluster_post_data()
     bdict['docker_volume_size'] = 3
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
     cluster, timeout = self.mock_cluster_create.call_args
     self.assertEqual(3, cluster[0].docker_volume_size)
示例#16
0
 def test_create_cluster_with_on_os_distro_image(self):
     bdict = apiutils.cluster_post_data()
     self.mock_valid_os_res.side_effect = \
         exception.OSDistroFieldNotFound('img')
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertTrue(self.mock_valid_os_res.called)
     self.assertEqual(400, response.status_int)
示例#17
0
 def test_create_cluster_with_no_lb_multi_node(self):
     cluster_template = obj_utils.create_test_cluster_template(
         self.context, name='foo', uuid='foo', master_lb_enabled=False)
     bdict = apiutils.cluster_post_data(
         cluster_template_id=cluster_template.name, master_count=3)
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(400, response.status_int)
示例#18
0
 def test_create_cluster_with_invalid_ext_network(self):
     bdict = apiutils.cluster_post_data()
     self.mock_valid_os_res.side_effect = \
         exception.ExternalNetworkNotFound('test-net')
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertTrue(self.mock_valid_os_res.called)
     self.assertEqual(400, response.status_int)
示例#19
0
 def test_create_cluster_with_invalid_keypair(self):
     bdict = apiutils.cluster_post_data()
     self.mock_valid_os_res.side_effect = exception.KeyPairNotFound(
         'test-key')
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertTrue(self.mock_valid_os_res.called)
     self.assertEqual(404, response.status_int)
示例#20
0
 def test_create_cluster_with_invalid_ext_network(self):
     bdict = apiutils.cluster_post_data()
     self.mock_valid_os_res.side_effect = \
         exception.ExternalNetworkNotFound('test-net')
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertTrue(self.mock_valid_os_res.called)
     self.assertEqual(400, response.status_int)
示例#21
0
 def test_create_cluster_with_invalid_keypair(self):
     bdict = apiutils.cluster_post_data()
     self.mock_valid_os_res.side_effect = exception.KeyPairNotFound(
         'test-key')
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertTrue(self.mock_valid_os_res.called)
     self.assertEqual(404, response.status_int)
示例#22
0
 def test_create_cluster_with_on_os_distro_image(self):
     bdict = apiutils.cluster_post_data()
     self.mock_valid_os_res.side_effect = \
         exception.OSDistroFieldNotFound('img')
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertTrue(self.mock_valid_os_res.called)
     self.assertEqual(400, response.status_int)
示例#23
0
 def test_create_cluster_with_keypair(self):
     bdict = apiutils.cluster_post_data()
     bdict['keypair'] = 'keypair2'
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
     cluster, timeout = self.mock_cluster_create.call_args
     self.assertEqual('keypair2', cluster[0].keypair)
示例#24
0
 def test_create_cluster_with_docker_volume_size(self):
     bdict = apiutils.cluster_post_data()
     bdict['docker_volume_size'] = 3
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
     cluster, timeout = self.mock_cluster_create.call_args
     self.assertEqual(3, cluster[0].docker_volume_size)
示例#25
0
 def test_create_cluster_without_keypair(self):
     bdict = apiutils.cluster_post_data()
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
     cluster, timeout = self.mock_cluster_create.call_args
     # Verify keypair from ClusterTemplate is used
     self.assertEqual('keypair1', cluster[0].keypair)
示例#26
0
    def test_create_cluster_generate_uuid(self):
        bdict = apiutils.cluster_post_data()
        del bdict['uuid']

        response = self.post_json('/clusters', bdict)
        self.assertEqual('application/json', response.content_type)
        self.assertEqual(202, response.status_int)
        self.assertTrue(uuidutils.is_uuid_like(response.json['uuid']))
示例#27
0
 def test_create_cluster_with_flavor_id(self):
     bdict = apiutils.cluster_post_data()
     bdict['flavor_id'] = 'm2.small'
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
     cluster, timeout = self.mock_cluster_create.call_args
     self.assertEqual('m2.small', cluster[0].flavor_id)
示例#28
0
 def test_create_cluster_without_flavor_id(self):
     bdict = apiutils.cluster_post_data()
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
     cluster, timeout = self.mock_cluster_create.call_args
     # Verify flavor_id from ClusterTemplate is used
     self.assertEqual('m1.small', cluster[0].flavor_id)
示例#29
0
 def test_create_cluster_with_keypair(self):
     bdict = apiutils.cluster_post_data()
     bdict['keypair'] = 'keypair2'
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
     cluster, timeout = self.mock_cluster_create.call_args
     self.assertEqual('keypair2', cluster[0].keypair)
示例#30
0
    def test_create_cluster(self, mock_utcnow):
        bdict = apiutils.cluster_post_data()
        test_time = datetime.datetime(2000, 1, 1, 0, 0)
        mock_utcnow.return_value = test_time

        response = self.post_json('/clusters', bdict)
        self.assertEqual('application/json', response.content_type)
        self.assertEqual(202, response.status_int)
        self.assertTrue(uuidutils.is_uuid_like(response.json['uuid']))
示例#31
0
 def test_create_cluster_doesnt_contain_id(self):
     with mock.patch.object(self.dbapi, 'create_cluster',
                            wraps=self.dbapi.create_cluster) as cc_mock:
         bdict = apiutils.cluster_post_data(name='cluster_example_A')
         response = self.post_json('/clusters', bdict)
         cc_mock.assert_called_once_with(mock.ANY)
         # Check that 'id' is not in first arg of positional args
         self.assertNotIn('id', cc_mock.call_args[0][0])
         self.assertTrue(uuidutils.is_uuid_like(response.json['uuid']))
示例#32
0
 def test_create_cluster_without_labels(self):
     bdict = apiutils.cluster_post_data()
     bdict.pop('labels')
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
     cluster, timeout = self.mock_cluster_create.call_args
     # Verify labels from ClusterTemplate is used
     self.assertEqual({'key1': u'val1', 'key2': u'val2'}, cluster[0].labels)
示例#33
0
 def test_cluster_init(self):
     cluster_dict = apiutils.cluster_post_data(cluster_template_id=None)
     del cluster_dict['node_count']
     del cluster_dict['master_count']
     del cluster_dict['create_timeout']
     cluster = api_cluster.Cluster(**cluster_dict)
     self.assertEqual(1, cluster.node_count)
     self.assertEqual(1, cluster.master_count)
     self.assertEqual(60, cluster.create_timeout)
示例#34
0
 def test_create_cluster_without_labels(self):
     bdict = apiutils.cluster_post_data()
     bdict.pop('labels')
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
     cluster, timeout = self.mock_cluster_create.call_args
     # Verify labels from ClusterTemplate is used
     self.assertEqual({'key1': u'val1', 'key2': u'val2'}, cluster[0].labels)
示例#35
0
 def test_create_cluster_with_valid_name(self):
     valid_names = ['test_cluster123456', 'test-cluster', 'test.cluster',
                    'testcluster.', 'testcluster-', 'testcluster_',
                    'test.-_cluster', 'Testcluster']
     for value in valid_names:
         bdict = apiutils.cluster_post_data(name=value)
         response = self.post_json('/clusters', bdict, expect_errors=True)
         self.assertEqual('application/json', response.content_type)
         self.assertEqual(202, response.status_int)
示例#36
0
 def test_create_cluster_with_invalid_name(self):
     invalid_names = ['x' * 243, '123456', '123456test_cluster',
                      '-test_cluster', '.test_cluster', '_test_cluster', '']
     for value in invalid_names:
         bdict = apiutils.cluster_post_data(name=value)
         response = self.post_json('/clusters', bdict, expect_errors=True)
         self.assertEqual('application/json', response.content_type)
         self.assertEqual(400, response.status_int)
         self.assertTrue(response.json['errors'])
示例#37
0
    def test_create_cluster(self, mock_utcnow):
        bdict = apiutils.cluster_post_data()
        test_time = datetime.datetime(2000, 1, 1, 0, 0)
        mock_utcnow.return_value = test_time

        response = self.post_json('/clusters', bdict)
        self.assertEqual('application/json', response.content_type)
        self.assertEqual(202, response.status_int)
        self.assertTrue(uuidutils.is_uuid_like(response.json['uuid']))
示例#38
0
 def test_create_cluster_with_valid_name(self):
     valid_names = ['test_cluster123456', 'test-cluster', 'test.cluster',
                    'testcluster.', 'testcluster-', 'testcluster_',
                    'test.-_cluster', 'Testcluster']
     for value in valid_names:
         bdict = apiutils.cluster_post_data(name=value)
         response = self.post_json('/clusters', bdict, expect_errors=True)
         self.assertEqual('application/json', response.content_type)
         self.assertEqual(202, response.status_int)
示例#39
0
 def test_cluster_init(self):
     cluster_dict = apiutils.cluster_post_data(cluster_template_id=None)
     del cluster_dict['node_count']
     del cluster_dict['master_count']
     del cluster_dict['create_timeout']
     cluster = api_cluster.Cluster(**cluster_dict)
     self.assertEqual(1, cluster.node_count)
     self.assertEqual(1, cluster.master_count)
     self.assertEqual(60, cluster.create_timeout)
示例#40
0
 def test_create_cluster_doesnt_contain_id(self):
     with mock.patch.object(self.dbapi, 'create_cluster',
                            wraps=self.dbapi.create_cluster) as cc_mock:
         bdict = apiutils.cluster_post_data(name='cluster_example_A')
         response = self.post_json('/clusters', bdict)
         cc_mock.assert_called_once_with(mock.ANY)
         # Check that 'id' is not in first arg of positional args
         self.assertNotIn('id', cc_mock.call_args[0][0])
         self.assertTrue(uuidutils.is_uuid_like(response.json['uuid']))
示例#41
0
 def test_create_cluster_with_invalid_name(self):
     invalid_names = ['x' * 243, '123456', '123456test_cluster',
                      '-test_cluster', '.test_cluster', '_test_cluster', '']
     for value in invalid_names:
         bdict = apiutils.cluster_post_data(name=value)
         response = self.post_json('/clusters', bdict, expect_errors=True)
         self.assertEqual('application/json', response.content_type)
         self.assertEqual(400, response.status_int)
         self.assertTrue(response.json['errors'])
示例#42
0
 def test_create_cluster_without_docker_volume_size(self):
     bdict = apiutils.cluster_post_data()
     # Remove the default docker_volume_size from the cluster dict.
     del bdict['docker_volume_size']
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
     cluster, timeout = self.mock_cluster_create.call_args
     # Verify docker_volume_size from ClusterTemplate is used
     self.assertEqual(20, cluster[0].docker_volume_size)
示例#43
0
 def test_create_cluster_with_invalid_docker_volume_size(self):
     invalid_values = [(-1, None), ('notanint', None),
                       (1, 'devicemapper'), (2, 'devicemapper')]
     for value in invalid_values:
         bdict = apiutils.cluster_post_data(docker_volume_size=value[0],
                                            docker_storage_driver=value[1])
         response = self.post_json('/clusters', bdict, expect_errors=True)
         self.assertEqual('application/json', response.content_type)
         self.assertEqual(400, response.status_int)
         self.assertTrue(response.json['errors'])
示例#44
0
 def test_create_cluster_without_docker_volume_size(self):
     bdict = apiutils.cluster_post_data()
     # Remove the default docker_volume_size from the cluster dict.
     del bdict['docker_volume_size']
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
     cluster, timeout = self.mock_cluster_create.call_args
     # Verify docker_volume_size from ClusterTemplate is used
     self.assertEqual(20, cluster[0].docker_volume_size)
示例#45
0
 def test_create_cluster_with_invalid_docker_volume_size(self):
     invalid_values = [(-1, None), ('notanint', None),
                       (1, 'devicemapper'), (2, 'devicemapper')]
     for value in invalid_values:
         bdict = apiutils.cluster_post_data(docker_volume_size=value[0],
                                            docker_storage_driver=value[1])
         response = self.post_json('/clusters', bdict, expect_errors=True)
         self.assertEqual('application/json', response.content_type)
         self.assertEqual(400, response.status_int)
         self.assertTrue(response.json['errors'])
示例#46
0
    def test_create_cluster_with_no_timeout(self):
        def _simulate_rpc_cluster_create(cluster, create_timeout):
            self.assertEqual(60, create_timeout)
            cluster.create()
            return cluster

        self.mock_cluster_create.side_effect = _simulate_rpc_cluster_create
        bdict = apiutils.cluster_post_data()
        del bdict['create_timeout']
        response = self.post_json('/clusters', bdict, expect_errors=True)
        self.assertEqual('application/json', response.content_type)
        self.assertEqual(202, response.status_int)
示例#47
0
    def test_create_cluster_set_project_id_and_user_id(self):
        bdict = apiutils.cluster_post_data()

        def _simulate_rpc_cluster_create(cluster, create_timeout):
            self.assertEqual(self.context.project_id, cluster.project_id)
            self.assertEqual(self.context.user_id, cluster.user_id)
            cluster.create()
            return cluster

        self.mock_cluster_create.side_effect = _simulate_rpc_cluster_create

        self.post_json('/clusters', bdict)
示例#48
0
    def test_create_cluster_with_no_timeout(self):
        def _simulate_rpc_cluster_create(cluster, create_timeout):
            self.assertEqual(60, create_timeout)
            cluster.create()
            return cluster

        self.mock_cluster_create.side_effect = _simulate_rpc_cluster_create
        bdict = apiutils.cluster_post_data()
        del bdict['create_timeout']
        response = self.post_json('/clusters', bdict, expect_errors=True)
        self.assertEqual('application/json', response.content_type)
        self.assertEqual(202, response.status_int)
示例#49
0
    def test_create_cluster_set_project_id_and_user_id(self):
        bdict = apiutils.cluster_post_data()

        def _simulate_rpc_cluster_create(cluster, create_timeout):
            self.assertEqual(self.context.project_id, cluster.project_id)
            self.assertEqual(self.context.user_id, cluster.user_id)
            cluster.create()
            return cluster

        self.mock_cluster_create.side_effect = _simulate_rpc_cluster_create

        self.post_json('/clusters', bdict)
示例#50
0
    def test_cluster_init(self):
        cluster_dict = apiutils.cluster_post_data(cluster_template_id=None)
        del cluster_dict['node_count']
        del cluster_dict['master_count']
        del cluster_dict['create_timeout']
        cluster = api_cluster.Cluster(**cluster_dict)
        self.assertEqual(1, cluster.node_count)
        self.assertEqual(1, cluster.master_count)
        self.assertEqual(60, cluster.create_timeout)

        # test unset value for cluster_template_id
        cluster.cluster_template_id = wtypes.Unset
        self.assertEqual(wtypes.Unset, cluster.cluster_template_id)

        # test backwards compatibility of bay fields with new objects
        cluster_dict['create_timeout'] = 15
        cluster = api_cluster.Cluster(**cluster_dict)
        self.assertEqual(15, cluster.create_timeout)
示例#51
0
    def test_cluster_init(self):
        cluster_dict = apiutils.cluster_post_data(cluster_template_id=None)
        del cluster_dict['node_count']
        del cluster_dict['master_count']
        del cluster_dict['create_timeout']
        cluster = api_cluster.Cluster(**cluster_dict)
        self.assertEqual(1, cluster.node_count)
        self.assertEqual(1, cluster.master_count)
        self.assertEqual(60, cluster.create_timeout)

        # test unset value for cluster_template_id
        cluster.cluster_template_id = wtypes.Unset
        self.assertEqual(wtypes.Unset, cluster.cluster_template_id)

        # test backwards compatibility of bay fields with new objects
        cluster_dict['create_timeout'] = 15
        cluster = api_cluster.Cluster(**cluster_dict)
        self.assertEqual(15, cluster.create_timeout)
示例#52
0
    def test_create_cluster_resource_limit_reached(self, mock_utcnow):
        # override max_cluster_per_project to 1
        CONF.set_override('max_clusters_per_project', 1, group='quotas')

        bdict = apiutils.cluster_post_data()
        test_time = datetime.datetime(2000, 1, 1, 0, 0)
        mock_utcnow.return_value = test_time

        # create first cluster
        response = self.post_json('/clusters', bdict)
        self.assertEqual('application/json', response.content_type)
        self.assertEqual(202, response.status_int)
        self.assertTrue(uuidutils.is_uuid_like(response.json['uuid']))

        # now try to create second cluster and make sure it fails
        response = self.post_json('/clusters', bdict, expect_errors=True)
        self.assertEqual('application/json', response.content_type)
        self.assertEqual(403, response.status_int)
        self.assertTrue(response.json['errors'])
示例#53
0
    def test_create_cluster_resource_limit_reached(self, mock_utcnow):
        # override max_cluster_per_project to 1
        CONF.set_override('max_clusters_per_project', 1, group='quotas')

        bdict = apiutils.cluster_post_data()
        test_time = datetime.datetime(2000, 1, 1, 0, 0)
        mock_utcnow.return_value = test_time

        # create first cluster
        response = self.post_json('/clusters', bdict)
        self.assertEqual('application/json', response.content_type)
        self.assertEqual(202, response.status_int)
        self.assertTrue(uuidutils.is_uuid_like(response.json['uuid']))

        # now try to create second cluster and make sure it fails
        response = self.post_json('/clusters', bdict, expect_errors=True)
        self.assertEqual('application/json', response.content_type)
        self.assertEqual(403, response.status_int)
        self.assertTrue(response.json['errors'])
示例#54
0
 def test_create_cluster_without_name(self):
     bdict = apiutils.cluster_post_data()
     del bdict['name']
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
示例#55
0
 def test_create_cluster_with_timeout_zero(self):
     bdict = apiutils.cluster_post_data()
     bdict['create_timeout'] = 0
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
示例#56
0
 def test_create_cluster_with_timeout_zero(self):
     bdict = apiutils.cluster_post_data()
     bdict['create_timeout'] = 0
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
示例#57
0
 def test_create_cluster_without_name(self):
     bdict = apiutils.cluster_post_data()
     del bdict['name']
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)
示例#58
0
 def test_create_cluster_with_invalid_empty_name(self):
     bdict = apiutils.cluster_post_data(name='')
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(400, response.status_int)
     self.assertTrue(response.json['errors'])
示例#59
0
 def test_create_cluster_with_invalid_labels(self):
     bdict = apiutils.cluster_post_data(labels='invalid')
     response = self.post_json('/clusters', bdict, expect_errors=True)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(400, response.status_int)
     self.assertTrue(response.json['errors'])
示例#60
0
 def test_create_cluster_with_no_master_count(self):
     bdict = apiutils.cluster_post_data()
     del bdict['master_count']
     response = self.post_json('/clusters', bdict)
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_int)