Example #1
0
 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)
Example #2
0
 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')
Example #3
0
 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
Example #5
0
    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)
Example #6
0
 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)
Example #7
0
 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)
Example #8
0
 def test_resource_delete_404(self):
     mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT)
     instance = base.FakeResource.deserialize(base.RESOURCES[0])
     mgr.delete(instance)
Example #9
0
 def test_resource_delete(self):
     mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT)
     instance = mgr.get_by_name('abc')
     mgr.delete(instance)
Example #10
0
 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)
Example #11
0
 def __init__(self):
     self.managers = {
         "FakeResource": models.ResourceManager(FakeResource, FAKE_ENDPOINT)
     }
Example #12
0
 def test_resource_get_by_id_failed(self):
     mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT)
     self.assertRaises(Exception, mgr.get_by_id)
Example #13
0
 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)
Example #14
0
 def test_resource_get_by_name_ambiguous(self):
     mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT)
     self.assertRaises(Exception, mgr.get_by_name, 'abc')
Example #15
0
 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)
Example #16
0
 def test_resource_query_failed(self):
     mgr = models.ResourceManager(base.FakeResource, base.FAKE_ENDPOINT)
     self.assertRaises(Exception, mgr.query, name='abc')
Example #17
0
 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, [])
Example #18
0
 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")
Example #19
0
 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)
Example #20
0
 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)
Example #21
0
 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)
Example #22
0
 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)
Example #23
0
 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)
Example #24
0
 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)
Example #25
0
 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)