Ejemplo n.º 1
0
    def test_success(self):
        bintray_files_endpoint_response = [
            {
                'owner': 'typesafe',
                'repo': 'bundle',
                'package': 'reactive-maps-frontend',
                'version': 'v1-023f9da22',
                'path': 'download/path.zip'
            }
        ]
        get_json_mock = MagicMock(return_value=bintray_files_endpoint_response)

        with patch('conductr_cli.resolvers.bintray_resolver.get_json', get_json_mock):
            result = bintray_resolver.bintray_resolve_version('username', 'password',
                                                              'typesafe', 'bundle', 'reactive-maps-frontend',
                                                              'v1', '023f9da22')
            self.assertEqual(result, {
                'org': 'typesafe',
                'repo': 'bundle',
                'package_name': 'reactive-maps-frontend',
                'compatibility_version': 'v1',
                'digest': '023f9da22',
                'path': 'download/path.zip',
                'resolver': bintray_resolver.__name__
            })

        get_json_mock.assert_called_with(
            'https://api.bintray.com/packages/typesafe/bundle/reactive-maps-frontend/versions/v1-023f9da22/files',
            'username', 'password')
Ejemplo n.º 2
0
    def test_no_version(self):
        bintray_attributes_endpoint_response = {
        }
        get_json_mock = MagicMock(return_value=bintray_attributes_endpoint_response)

        with patch('conductr_cli.resolvers.bintray_resolver.get_json', get_json_mock):
            result = bintray_resolver.bintray_resolve_version('username', 'password', 'typesafe', 'bundle',
                                                              'reactive-maps-frontend', 'v1', None)
            self.assertIsNone(result)

        get_json_mock.assert_called_with('https://api.bintray.com/packages/typesafe/bundle/reactive-maps-frontend/attributes?names=latest-v1',
                                         'username', 'password')
Ejemplo n.º 3
0
    def test_latest_version_from_attribute_names(self):
        package_endpoint_response = {
            'latest_version': '',
            'attribute_names': [
                'latest-v9',
                'latest-v10'
            ]
        }
        bintray_attributes_v10_endpoint_response = [
            {
                'name': 'latest-v10',
                'type': 'version',
                'values': [
                    'v10-023f9da22'
                ]
            }
        ]
        bintray_files_v10_endpoint_response = [
            {
                'owner': 'typesafe',
                'repo': 'bundle',
                'package': 'reactive-maps-frontend',
                'version': 'v10-023f9da22',
                'path': 'download/path.zip'
            }
        ]
        get_json_mock = MagicMock(side_effect=[package_endpoint_response, bintray_attributes_v10_endpoint_response,
                                               bintray_files_v10_endpoint_response])

        with patch('conductr_cli.resolvers.bintray_resolver.get_json', get_json_mock):
            result = bintray_resolver.bintray_resolve_version('username', 'password',
                                                              'typesafe', 'bundle', 'reactive-maps-frontend', None, None)
            self.assertEqual(result, {
                'org': 'typesafe',
                'repo': 'bundle',
                'package_name': 'reactive-maps-frontend',
                'compatibility_version': 'v10',
                'digest': '023f9da22',
                'path': 'download/path.zip',
                'resolver': bintray_resolver.__name__
            })

        self.assertEqual(
            get_json_mock.call_args_list,
            [
                call('https://api.bintray.com/packages/typesafe/bundle/reactive-maps-frontend', 'username', 'password'),
                call('https://api.bintray.com/packages/typesafe/bundle/reactive-maps-frontend/attributes?names=latest-v10',
                     'username', 'password'),
                call('https://api.bintray.com/packages/typesafe/bundle/reactive-maps-frontend/versions/v10-023f9da22/files',
                     'username', 'password')
            ]
        )