Exemplo n.º 1
0
    def test_format_results_render_module(self, mock_get_parameters):
        mock_get_parameters.return_value = {'module': 'foo/bar'}
        release = ReleasesPost36View()
        module = 'foo/bar'
        get_dict = {'module': module}
        result_str = release.format_results(
            {
                'foo/bar': [
                    {
                        'dependencies': [('apple', '42.5')],
                        'version': '1.0',
                        'file': 'foo',
                        'file_md5': 'bar'
                    },
                ]
            }, get_dict, '/v3/releases').content
        result = json.loads(result_str)

        module_data = result['results'][0]
        self.assertEquals('foo/bar', module_data['metadata']['name'])
        self.assertEquals('1.0', module_data['metadata']['version'])
        self.assertEquals('foo', module_data['file_uri'])
        self.assertEquals('bar', module_data['file_md5'])
        dependencies = module_data['metadata']['dependencies']
        self.assertEquals('apple', dependencies[0]['name'])
        self.assertEquals('42.5', dependencies[0]['version_requirement'])
Exemplo n.º 2
0
    def test_format_results_with_single_module(self):
        release = ReleasesPost36View()
        module = 'foo/bar'
        get_dict = {
            'module': module,
            'version': '1.0.0',
            'path': 'foo-bar-1.0.0'
        }
        result_str = release.format_results(
            {
                'foo/bar': [
                    {
                        'dependencies': [('apple', '42.5')],
                        'version': '1.0',
                        'file': 'foo',
                        'file_md5': 'bar'
                    },
                ]
            }, get_dict, '/v3/releases').content
        module_data = json.loads(result_str)

        self.assertEquals('foo/bar', module_data['metadata']['name'])
        self.assertEquals('1.0', module_data['metadata']['version'])
        self.assertEquals('foo', module_data['file_uri'])
        self.assertEquals('bar', module_data['file_md5'])
        dependencies = module_data['metadata']['dependencies']
        self.assertEquals('apple', dependencies[0]['name'])
        self.assertEquals('42.5', dependencies[0]['version_requirement'])
Exemplo n.º 3
0
 def test_releases_post_36_get_bad_parameters(self, mock_get_credentials):
     """
     Test getting malformed request parameters from HTTP GET request
     """
     mock_get_credentials.return_value = ('consumer1', 'repo1')
     rf = RequestFactory()
     mock_request = rf.get('/v3/releases/blah!')
     releases_view = ReleasesPost36View()
     response = releases_view.get(mock_request)
     self.assertEqual(response.status_code, 400)
Exemplo n.º 4
0
 def test_releases_post_36_get_single_module_without_version(
         self, mock_get_credentials):
     """
     Test getting a single module without specifying a version
     """
     mock_get_credentials.return_value = ('consumer1', 'repo1')
     rf = RequestFactory()
     mock_request = rf.get('/v3/releases/foo-bar')
     releases_view = ReleasesPost36View()
     response = releases_view.get(mock_request)
     self.assertEqual(response.status_code, 400)
Exemplo n.º 5
0
 def test_releases_post_36_get_query_parameters(self):
     """
     Test getting request parameters from HTTP GET request
     """
     releases_view = ReleasesPost36View()
     module = 'test-module'
     path = '/test/'
     formatted_module_name = 'test/module'
     get_dict = {'module': module}
     parameters = releases_view._get_parameters(get_dict, path)
     self.assertEqual(formatted_module_name, parameters.get('module'))
Exemplo n.º 6
0
 def test_releases_post_36_get_path_parameters(self):
     """
     Test getting request parameters from HTTP GET request
     """
     releases_view = ReleasesPost36View()
     param = 'foo-bar-1.0.0'
     version = '1.0.0'
     formatted_module_name = 'foo/bar'
     parameters = releases_view._get_parameters({}, '/v3/releases/' + param)
     self.assertEqual(formatted_module_name, parameters.get('module'))
     self.assertEqual(version, parameters.get('version'))
     self.assertEqual(param, parameters.get('path'))
Exemplo n.º 7
0
    def test_format_results_pagination_middle_page(self, mock_get_parameters):
        mock_get_parameters.return_value = {'module': 'foo/bar'}
        release = ReleasesPost36View()
        module = 'foo/bar'
        get_dict = {'module': module, 'limit': '1', 'offset': '1'}
        result_str = release.format_results(
            {
                'foo/bar': [
                    {
                        'dependencies': [],
                        'version': '1.0',
                        'file': 'foo',
                        'file_md5': 'bar'
                    },
                    {
                        'dependencies': [],
                        'version': '2.0',
                        'file': 'foo',
                        'file_md5': 'bar'
                    },
                    {
                        'dependencies': [],
                        'version': '3.0',
                        'file': 'foo',
                        'file_md5': 'bar'
                    },
                ]
            }, get_dict, '/v3/releases').content
        result = json.loads(result_str)

        self.assertEquals(1, result['pagination']['limit'])
        self.assertEquals(1, result['pagination']['offset'])
        self.assertEquals(3, result['pagination']['total'])
        self.assertEquals(u'/v3/releases?limit=1&module=foo%2Fbar&offset=0',
                          result['pagination']['first'])
        self.assertEquals(u'/v3/releases?limit=1&module=foo%2Fbar&offset=0',
                          result['pagination']['previous'])
        self.assertEquals(u'/v3/releases?limit=1&module=foo%2Fbar&offset=1',
                          result['pagination']['current'])
        self.assertEquals(u'/v3/releases?limit=1&module=foo%2Fbar&offset=2',
                          result['pagination']['next'])
        self.assertEquals(1, len(result['results']))
        self.assertEquals('2.0', result['results'][0]['metadata']['version'])
Exemplo n.º 8
0
    def test_format_results_pagination_defaults(self, mock_get_parameters):
        mock_get_parameters.return_value = {'module': 'foo/bar'}
        release = ReleasesPost36View()
        module = 'foo/bar'
        get_dict = {'module': module}
        result_str = release.format_results({
            'foo/bar': []
        }, get_dict, '/v3/releases').content
        result = json.loads(result_str)

        self.assertEquals(20, result['pagination']['limit'])
        self.assertEquals(0, result['pagination']['offset'])
        self.assertEquals(0, result['pagination']['total'])
        self.assertEquals(u'/v3/releases?limit=20&module=foo%2Fbar&offset=0',
                          result['pagination']['first'])
        self.assertEquals(u'/v3/releases?limit=20&module=foo%2Fbar&offset=0',
                          result['pagination']['current'])
        self.assertEquals(None, result['pagination']['previous'])
        self.assertEquals(None, result['pagination']['next'])