def test_policy_detach(self):
        sot = cluster.Cluster(**FAKE)

        resp = mock.Mock()
        resp.json = mock.Mock(return_value='')
        sess = mock.Mock()
        sess.post = mock.Mock(return_value=resp)
        self.assertEqual('', sot.policy_detach(sess, 'POLICY'))

        url = 'clusters/%s/actions' % sot.id
        body = {'policy_detach': {'policy_id': 'POLICY'}}
        sess.post.assert_called_once_with(url,
                                          endpoint_filter=sot.service,
                                          json=body)
예제 #2
0
    def test_policy_update(self):
        sot = cluster.Cluster(**FAKE)

        resp = mock.Mock()
        resp.json = mock.Mock(return_value='')
        sess = mock.Mock()
        sess.post = mock.Mock(return_value=resp)
        params = {'enabled': False}
        self.assertEqual('', sot.policy_update(sess, 'POLICY', **params))

        url = 'clusters/%s/actions' % sot.id
        body = {'policy_update': {'policy_id': 'POLICY', 'enabled': False}}
        sess.post.assert_called_once_with(url,
                                          endpoint_filter=sot.service,
                                          json=body)
    def test_instantiate(self):
        sot = cluster.Cluster(FAKE)
        self.assertIsNone(sot.id)
        self.assertEqual(FAKE['name'], sot.name)

        self.assertEqual(FAKE['profile_id'], sot.profile_id)

        self.assertEqual(FAKE['min_size'], sot.min_size)
        self.assertEqual(FAKE['max_size'], sot.max_size)
        self.assertEqual(FAKE['desired_capacity'], sot.desired_capacity)

        self.assertEqual(FAKE['timeout'], sot.timeout)
        self.assertEqual(FAKE['metadata'], sot.metadata)

        self.assertEqual(FAKE['init_at'], sot.init_at)
        self.assertEqual(FAKE['created_at'], sot.created_at)
        self.assertEqual(FAKE['updated_at'], sot.updated_at)
예제 #4
0
    def test_policy_disable(self):
        sot = cluster.Cluster(FAKE)
        sot['id'] = 'IDENTIFIER'

        resp = mock.Mock()
        resp.body = ''
        sess = mock.Mock()
        sess.put = mock.MagicMock(return_value=resp)
        self.assertEqual('', sot.policy_disable(sess, 'POLICY'))

        url = 'clusters/%s/action' % sot.id
        body = {
            'policy_update': {
                'policy_id': 'POLICY',
                'enabled': False,
            }
        }
        sess.put.assert_called_once_with(url, service=sot.service, json=body)
예제 #5
0
    def test_policy_enable(self):
        sot = cluster.Cluster(FAKE)
        sot['id'] = 'IDENTIFIER'

        resp = mock.Mock()
        resp.json = mock.Mock(return_value='')
        sess = mock.Mock()
        sess.post = mock.Mock(return_value=resp)
        self.assertEqual('', sot.policy_enable(sess, 'POLICY'))

        url = 'clusters/%s/actions' % sot.id
        body = {
            'policy_update': {
                'policy_id': 'POLICY',
                'enabled': True,
            }
        }
        sess.post.assert_called_once_with(url,
                                          endpoint_filter=sot.service,
                                          json=body)
예제 #6
0
    def test_del_nodes_with_params(self):
        sot = cluster.Cluster(**FAKE)

        resp = mock.Mock()
        resp.json = mock.Mock(return_value='')
        sess = mock.Mock()
        sess.post = mock.Mock(return_value=resp)
        params = {
            'destroy_after_deletion': True,
        }
        self.assertEqual('', sot.del_nodes(sess, ['node-11'], **params))
        url = 'clusters/%s/actions' % sot.id
        body = {
            'del_nodes': {
                'nodes': ['node-11'],
                'destroy_after_deletion': True,
            }
        }
        sess.post.assert_called_once_with(url,
                                          endpoint_filter=sot.service,
                                          json=body)
예제 #7
0
    def test_policy_attach(self):
        sot = cluster.Cluster(FAKE)
        sot['id'] = 'IDENTIFIER'

        resp = mock.Mock()
        resp.body = ''
        sess = mock.Mock()
        sess.put = mock.MagicMock(return_value=resp)
        self.assertEqual('', sot.policy_attach(sess, 'POLICY', 1, 2, 0, True))

        url = 'clusters/%s/action' % sot.id
        body = {
            'policy_attach': {
                'policy_id': 'POLICY',
                'priority': 1,
                'level': 2,
                'cooldown': 0,
                'enabled': True,
            }
        }
        sess.put.assert_called_once_with(url, service=sot.service, json=body)
예제 #8
0
    def test_policy_update(self):
        sot = cluster.Cluster(FAKE)
        sot['id'] = 'IDENTIFIER'

        resp = mock.Mock()
        resp.json = mock.Mock(return_value='')
        sess = mock.Mock()
        sess.post = mock.Mock(return_value=resp)
        self.assertEqual('', sot.policy_update(sess, 'POLICY', 3, 4, 5, False))

        url = 'clusters/%s/actions' % sot.id
        body = {
            'policy_update': {
                'policy_id': 'POLICY',
                'priority': 3,
                'level': 4,
                'cooldown': 5,
                'enabled': False
            }
        }
        sess.post.assert_called_once_with(url,
                                          endpoint_filter=sot.service,
                                          json=body)
예제 #9
0
    def test_instantiate(self):
        sot = cluster.Cluster(FAKE)
        self.assertIsNone(sot.id)
        self.assertEqual(FAKE['name'], sot.name)

        self.assertEqual(FAKE['profile_id'], sot.profile_id)

        self.assertEqual(FAKE['min_size'], sot.min_size)
        self.assertEqual(FAKE['max_size'], sot.max_size)
        self.assertEqual(FAKE['desired_capacity'], sot.desired_capacity)

        self.assertEqual(FAKE['timeout'], sot.timeout)
        self.assertEqual(FAKE['metadata'], sot.metadata)

        dt = datetime.datetime(2015, 10, 10, 12, 46, 36,
                               000000).replace(tzinfo=None)
        self.assertEqual(dt, sot.init_at.replace(tzinfo=None))
        dt = datetime.datetime(2015, 10, 10, 12, 46, 36,
                               000000).replace(tzinfo=None)
        self.assertEqual(dt, sot.created_at.replace(tzinfo=None))
        dt = datetime.datetime(2016, 10, 10, 12, 46, 36,
                               000000).replace(tzinfo=None)
        self.assertEqual(dt, sot.updated_at.replace(tzinfo=None))
예제 #10
0
 def setUp(self):
     super(TestClusterShow, self).setUp()
     self.cmd = osc_cluster.ShowCluster(self.app, None)
     self.mock_client.get_cluster = mock.Mock(
         return_value=sdk_cluster.Cluster(**self.response['cluster']))
예제 #11
0
 def setUp(self):
     super(TestClusterList, self).setUp()
     self.cmd = osc_cluster.ListCluster(self.app, None)
     self.mock_client.clusters = mock.Mock(
         return_value=sdk_cluster.Cluster(None, {}))