예제 #1
0
    def test_get_instance_data_no_tags(self, get, apps):
        data = {u'Name': u'instance', u'Tags': ''}
        response_mock = Mock(status_code=200)
        response_mock.json.return_value = data
        get.return_value = response_mock

        response = ServiceInstanceDetail.as_view()(self.request, service="service",
                                                   instance="instance")

        self.assertIn("services/detail.html", response.template_name)
        # Empty string
        self.assertDictEqual({u'Name': u'instance', u'Tags': u''}, response.context_data['instance'])
        url = '{}/services/{}/instances/{}'.format(settings.TSURU_HOST, "service", "instance")
        get.assert_called_with(url, headers={'authorization': 'admin'})

        # Empty array
        data = {u'Name': u'instance', u'Tags': []}
        response_mock.json.return_value = data
        get.return_value = response_mock
        response = ServiceInstanceDetail.as_view()(self.request, service="service",
                                                   instance="instance")
        self.assertDictEqual({u'Name': u'instance', u'Tags': u''}, response.context_data['instance'])

        # None
        data = {u'Name': u'instance', u'Tags': None}
        response_mock.json.return_value = data
        get.return_value = response_mock
        response = ServiceInstanceDetail.as_view()(self.request, service="service",
                                                   instance="instance")
        self.assertDictEqual({u'Name': u'instance', u'Tags': u''}, response.context_data['instance'])
예제 #2
0
    def test_get_apps(self, get, get_instance):
        instance_mock = {'Apps': ["ble"]}
        get_instance.return_value = instance_mock
        response_mock = Mock(status_code=200)
        response_mock.json.return_value = [
            {u'name': u'app1'},
            {u'name': u'ble'},
            {u'name': u'app2'}
        ]
        get.return_value = response_mock

        response = ServiceInstanceDetail.as_view()(self.request, service="service",
                                                   instance="instance")

        self.assertIn("services/detail.html", response.template_name)
        self.assertIn("apps", response.context_data)
        expected = ["app1", "app2"]
        self.assertListEqual(expected, response.context_data["apps"])
        url = '{}/apps'.format(settings.TSURU_HOST)
        get.assert_called_with(url, headers={'authorization': 'admin'})