def test_resource_get_by_name(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) # No X-Total-Count resource = mgr.get_by_name('abc') actual = resource.serialize() expected = json.loads(json.dumps(base.RESOURCES[0])) self.assertEqual(actual, expected)
def test_resource_query(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) resources, count = mgr.query(name='abc') actual = [resource.serialize() for resource in resources] expected = json.loads(json.dumps([base.RESOURCES[0]])) self.assertEqual(actual, expected) self.assertEqual(count, '40')
def _authenticate_and_retrieve_auth_token(self, client, username, password): manager = models.ResourceManager(models.Token, client.endpoints['auth'], cacert=client.cacert, debug=client.debug) instance = models.Token() instance = manager.create(instance, auth=(username, password)) return instance
def _authenticate_and_retrieve_token(self): manager = models.ResourceManager(models.Token, self.client.endpoints['auth'], cacert=self.client.cacert, debug=self.client.debug) instance = models.Token() instance = manager.create(instance, auth=(self.username, self.password)) print instance self.auth_token = instance.token
def __init__(self, *args, **kwargs): # Get CLI options. If not given, then try to get it from the environment. self.endpoints = dict() self.endpoints['base'] = kwargs.get('base_url') if not self.endpoints['base']: self.endpoints['base'] = os.environ.get('ST2_BASE_URL', 'http://localhost') self.endpoints['auth'] = kwargs.get('auth_url') if not self.endpoints['auth']: base_https_url = self.endpoints['base'].replace( 'http://', 'https://') self.endpoints['auth'] = os.environ.get( 'ST2_AUTH_URL', '%s:%s' % (base_https_url, 9100)) self.endpoints['api'] = kwargs.get('api_url') if not self.endpoints['api']: self.endpoints['api'] = os.environ.get( 'ST2_API_URL', '%s:%s' % (self.endpoints['base'], 9101)) self.cacert = kwargs.get('cacert') if not self.cacert: self.cacert = os.environ.get('ST2_CACERT', None) if self.cacert and not os.path.isfile(self.cacert): raise ValueError('CA cert file "%s" does not exist.' % self.cacert) # Instantiate resource managers and assign appropriate API endpoint. self.managers = dict() self.managers['Token'] = models.ResourceManager(models.Token, self.endpoints['auth'], cacert=self.cacert) self.managers['RunnerType'] = models.ResourceManager( models.RunnerType, self.endpoints['api'], cacert=self.cacert) self.managers['Action'] = models.ResourceManager(models.Action, self.endpoints['api'], cacert=self.cacert) self.managers['ActionExecution'] = models.ResourceManager( models.ActionExecution, self.endpoints['api'], cacert=self.cacert) self.managers['Rule'] = models.ResourceManager(models.Rule, self.endpoints['api'], cacert=self.cacert) self.managers['Sensor'] = models.ResourceManager(models.Sensor, self.endpoints['api'], cacert=self.cacert) self.managers['Trigger'] = models.ResourceManager( models.Trigger, self.endpoints['api'], cacert=self.cacert) self.managers['KeyValuePair'] = models.ResourceManager( models.KeyValuePair, self.endpoints['api'], cacert=self.cacert)
def test_resource_get_all_with_limit(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) resources = mgr.get_all(limit=50) actual = [resource.serialize() for resource in resources] expected = json.loads(json.dumps(base.RESOURCES)) self.assertListEqual(actual, expected)
def test_resource_delete_failed(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) instance = mgr.get_by_name('abc') self.assertRaises(Exception, mgr.delete, instance)
def test_resource_delete_404(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) instance = base.FakeResource.deserialize(base.RESOURCES[0]) mgr.delete(instance)
def test_resource_delete(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) instance = mgr.get_by_name('abc') mgr.delete(instance)
def test_resource_clone(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) source_ref = "spack.saction" resource = mgr.clone(source_ref, "dpack", "daction", False) self.assertIsNotNone(resource)
def __init__(self): self.managers = { "FakeResource": models.ResourceManager(FakeResource, FAKE_ENDPOINT) }
def test_resource_get_by_id_failed(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) self.assertRaises(Exception, mgr.get_by_id)
def test_resource_create(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) instance = base.FakeResource.deserialize('{"name": "abc"}') resource = mgr.create(instance) self.assertIsNotNone(resource)
def test_resource_get_by_name_ambiguous(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) self.assertRaises(Exception, mgr.get_by_name, 'abc')
def test_resource_query_with_count_404(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) resources, count = mgr.query_with_count(name="abc") self.assertListEqual(resources, []) self.assertIsNone(count)
def test_resource_query_failed(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) self.assertRaises(Exception, mgr.query, name='abc')
def test_resource_query_404(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) # No X-Total-Count resources = mgr.query(name='abc') self.assertListEqual(resources, [])
def test_resource_clone_failed(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) source_ref = "spack.saction" self.assertRaises(Exception, mgr.clone, source_ref, "dpack", "daction")
def test_resource_get_by_id(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) resource = mgr.get_by_id('123') actual = resource.serialize() expected = json.loads(json.dumps(base.RESOURCES[0])) self.assertEqual(actual, expected)
def test_resource_get_by_id_404(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) resource = mgr.get_by_id('123') self.assertIsNone(resource)
def test_resource_update(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) text = '{"id": "123", "name": "cba"}' instance = base.FakeResource.deserialize(text) resource = mgr.update(instance) self.assertIsNotNone(resource)
def test_resource_query_with_limit(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) resources = mgr.query(name="abc", limit=50) actual = [resource.serialize() for resource in resources] expected = json.loads(json.dumps([base.RESOURCES[0]])) self.assertEqual(actual, expected)
def test_resource_update_failed(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) text = '{"id": "123", "name": "cba"}' instance = base.FakeResource.deserialize(text) self.assertRaises(Exception, mgr.update, instance)
def test_resource_create_failed(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) instance = base.FakeResource.deserialize('{"name": "abc"}') self.assertRaises(Exception, mgr.create, instance)
def test_resource_delete_action(self): mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT) instance = mgr.get_by_name("abc") mgr.delete_action(instance, True)