예제 #1
0
    def test_services_get(self, cc):
        request = self.mock_rest_request(GET={})
        cc.service_list.return_value = [
            mock.Mock(binary='binary_1',
                      host='host_1',
                      zone='zone_1',
                      updated_at='updated_at_1',
                      status='status_1',
                      state='state_1'),
            mock.Mock(binary='binary_2',
                      host='host_2',
                      zone='zone_2',
                      updated_at='updated_at_2',
                      status='status_2',
                      state='state_2')
        ]
        api.base.is_service_enabled(request, 'volume').AndReturn(True)

        self.mox.ReplayAll()

        response = cinder.Services().get(request)
        self.assertStatusCode(response, 200)
        response_as_json = json.loads(response.content.decode('utf-8'))
        self.assertEqual(response_as_json['items'][0]['id'], 1)
        self.assertEqual(response_as_json['items'][0]['binary'], 'binary_1')
        self.assertEqual(response_as_json['items'][1]['id'], 2)
        self.assertEqual(response_as_json['items'][1]['binary'], 'binary_2')
        cc.service_list.assert_called_once_with(request)
예제 #2
0
    def test_services_get_disabled(self, mock_service_enabled):
        request = self.mock_rest_request(GET={})

        mock_service_enabled.return_value = False

        response = cinder.Services().get(request)
        self.assertStatusCode(response, 501)
예제 #3
0
    def test_services_get(self):
        request = self.mock_rest_request(GET={})
        services = self.cinder_services.list()
        self.mock_service_list.return_value = services
        self.mock_is_service_enabled.return_value = True
        self.mock_extension_supported.return_value = True

        response = cinder.Services().get(request)

        def _convert_service(service, idx):
            return {
                'binary': service.binary,
                'host': service.host,
                'zone': service.zone,
                'updated_at': service.updated_at,
                'status': service.status,
                'state': service.state,
                'id': idx + 1
            }

        self.assertStatusCode(response, 200)
        self.assertEqual(
            [_convert_service(s, i) for i, s in enumerate(services)],
            response.json['items'])

        self.mock_service_list.assert_called_once_with(request)
        self.mock_is_service_enabled.assert_called_once_with(request, 'volume')
        self.mock_extension_supported.assert_called_once_with(
            request, 'Services')
예제 #4
0
    def test_services_get_disabled(self):
        request = self.mock_rest_request(GET={})

        self.mock_is_service_enabled.return_value = False

        response = cinder.Services().get(request)
        self.assertStatusCode(response, 501)
        self.mock_is_service_enabled.assert_called_once_with(request, 'volume')
예제 #5
0
    def test_services_get_disabled(self):
        request = self.mock_rest_request(GET={})

        api.base.is_service_enabled(request, 'volume').AndReturn(False)

        self.mox.ReplayAll()

        response = cinder.Services().get(request)
        self.assertStatusCode(response, 501)