def test_public_cluster_update_from_another_tenant(self, get_cluster_p): cluster = tu.create_cluster("cluster1", "tenant_2", "fake", "0.1", ['ng1'], is_public=True) get_cluster_p.return_value = cluster # cluster can't be updated from another tenant with testtools.ExpectedException(ex.UpdateFailedException): try: c_val.check_cluster_update(cluster.id, {'name': 'new'}) except ex.UpdateFailedException as e: self.assert_created_in_another_tenant_exception(e) raise e
def test_public_cluster_update_from_another_tenant(self, get_cluster_p): cluster = tu.create_cluster("cluster1", "tenant_2", "fake", "0.1", ['ng1'], is_public=True) get_cluster_p.return_value = cluster # cluster can't be updated from another tenant with testtools.ExpectedException(ex.UpdateFailedException): try: c_val.check_cluster_update(cluster.id, {'name': 'new'}) except ex.UpdateFailedException as e: self.assert_created_in_another_tenant_exception(e) raise e
def test_cluster_update_when_protected(self, get_cluster_p): cluster = tu.create_cluster("cluster1", "tenant_1", "fake", "0.1", ['ng1'], is_protected=True) get_cluster_p.return_value = cluster # cluster can't be updated if it's marked as protected with testtools.ExpectedException(ex.UpdateFailedException): try: c_val.check_cluster_update(cluster.id, {'name': 'new'}) except ex.UpdateFailedException as e: self.assert_protected_resource_exception(e) raise e # cluster can be updated because is_protected flag was set to False c_val.check_cluster_update( cluster.id, {'is_protected': False, 'name': 'new'})
def test_cluster_update_when_protected(self, get_cluster_p): cluster = tu.create_cluster("cluster1", "tenant_1", "fake", "0.1", ['ng1'], is_protected=True) get_cluster_p.return_value = cluster # cluster can't be updated if it's marked as protected with testtools.ExpectedException(ex.UpdateFailedException): try: c_val.check_cluster_update(cluster.id, {'name': 'new'}) except ex.UpdateFailedException as e: self.assert_protected_resource_exception(e) raise e # cluster can be updated because is_protected flag was set to False c_val.check_cluster_update( cluster.id, {'is_protected': False, 'name': 'new'})
def test_verifications_ops(self, get_cluster_mock): cluster = tu.create_cluster( 'cluster1', "tenant_1", "fake", "0.1", ['ng1'], status='Active') get_cluster_mock.return_value = cluster self.assertIsNone(c_val.check_cluster_update( cluster, {'verification': {'status': "START"}})) cluster = tu.create_cluster( 'cluster1', "tenant_1", "fake", "0.1", ['ng1'], status='Active', verification={'status': "CHECKING"}) get_cluster_mock.return_value = cluster with testtools.ExpectedException(verification_base.CannotVerifyError): c_val.check_cluster_update( cluster, {'verification': {'status': 'START'}}) cluster = tu.create_cluster( 'cluster1', "tenant_1", "fake", "0.1", ['ng1'], status='Active', verification={'status': "RED"}) get_cluster_mock.return_value = cluster self.assertIsNone(c_val.check_cluster_update( cluster, {'verification': {'status': "START"}})) with testtools.ExpectedException(verification_base.CannotVerifyError): c_val.check_cluster_update(cluster, { 'is_public': True, 'verification': {'status': "START"}}) # allow verification for protected resource cluster = tu.create_cluster( 'cluster1', "tenant_1", "fake", "0.1", ['ng1'], is_protected=True, status='Active') get_cluster_mock.return_value = cluster self.assertIsNone(c_val.check_cluster_update( cluster, {'verification': {'status': "START"}})) # just for sure that protected works nicely for other with testtools.ExpectedException(ex.UpdateFailedException): try: c_val.check_cluster_update(cluster.id, {'name': 'new'}) except ex.UpdateFailedException as e: self.assert_protected_resource_exception(e) raise e
def test_verifications_ops(self, get_cluster_mock): cluster = tu.create_cluster( 'cluster1', "tenant_1", "fake", "0.1", ['ng1'], status='Active') get_cluster_mock.return_value = cluster self.assertIsNone(c_val.check_cluster_update( cluster, {'verification': {'status': "START"}})) cluster = tu.create_cluster( 'cluster1', "tenant_1", "fake", "0.1", ['ng1'], status='Active', verification={'status': "CHECKING"}) get_cluster_mock.return_value = cluster with testtools.ExpectedException(verification_base.CannotVerifyError): c_val.check_cluster_update( cluster, {'verification': {'status': 'START'}}) cluster = tu.create_cluster( 'cluster1', "tenant_1", "fake", "0.1", ['ng1'], status='Active', verification={'status': "RED"}) get_cluster_mock.return_value = cluster self.assertIsNone(c_val.check_cluster_update( cluster, {'verification': {'status': "START"}})) with testtools.ExpectedException(verification_base.CannotVerifyError): c_val.check_cluster_update(cluster, { 'is_public': True, 'verification': {'status': "START"}}) # allow verification for protected resource cluster = tu.create_cluster( 'cluster1', "tenant_1", "fake", "0.1", ['ng1'], is_protected=True, status='Active') get_cluster_mock.return_value = cluster self.assertIsNone(c_val.check_cluster_update( cluster, {'verification': {'status': "START"}})) # just for sure that protected works nicely for other with testtools.ExpectedException(ex.UpdateFailedException): try: c_val.check_cluster_update(cluster.id, {'name': 'new'}) except ex.UpdateFailedException as e: self.assert_protected_resource_exception(e) raise e