Example #1
0
 def test_is_repo_type_should_return_True_if_repository_type(self):
     assert artifactory_entity.ArtifactoryApiService(
         self.DOMAIN, artifactory_entity.LOCAL_REPOSITORY_TYPE,
         self.USERNAME, self.PASSWORD, self.TEST_REPO_DATA,
         self.STATE).is_repo_type()
     assert artifactory_entity.ArtifactoryApiService(
         self.DOMAIN, artifactory_entity.REMOTE_REPOSITORY_TYPE,
         self.USERNAME, self.PASSWORD, self.TEST_REPO_DATA,
         self.STATE).is_repo_type()
     assert artifactory_entity.ArtifactoryApiService(
         self.DOMAIN, artifactory_entity.VIRTUAL_REPOSITORY_TYPE,
         self.USERNAME, self.PASSWORD, self.TEST_REPO_DATA,
         self.STATE).is_repo_type()
Example #2
0
 def test_should_return_artifactory_api_request_with_proper_path_for_repo_type(
         self):
     assert artifactory_entity.ArtifactoryApiService(
         self.DOMAIN, artifactory_entity.LOCAL_REPOSITORY_TYPE,
         self.USERNAME, self.PASSWORD, self.TEST_REPO_DATA, self.STATE
     ).artifactory_api_request().path == "/api/repositories/sample-repo"
     assert artifactory_entity.ArtifactoryApiService(
         self.DOMAIN, artifactory_entity.REMOTE_REPOSITORY_TYPE,
         self.USERNAME, self.PASSWORD, self.TEST_REPO_DATA, self.STATE
     ).artifactory_api_request().path == "/api/repositories/sample-repo"
     assert artifactory_entity.ArtifactoryApiService(
         self.DOMAIN, artifactory_entity.VIRTUAL_REPOSITORY_TYPE,
         self.USERNAME, self.PASSWORD, self.TEST_REPO_DATA, self.STATE
     ).artifactory_api_request().path == "/api/repositories/sample-repo"
Example #3
0
    def test_data_same_should_return_false_if_group_data_are_different_for_permissions(
            self):
        data = {
            'repositories': ['repo-a'],
            'principals': {
                'groups': {
                    'mathematicians': ['r', 'd', 'w'],
                }
            }
        }

        artifactory_api_service = artifactory_entity.ArtifactoryApiService(
            self.DOMAIN, artifactory_entity.PERMISSION_TYPE, self.USERNAME,
            self.PASSWORD, data, self.STATE)
        other_data = {
            "default_key": "default_value",
            'repositories': ['repo-b', 'repo-a'],
            'principals': {
                'groups': {
                    'mathematicians': ['d', 'w', 'r'],
                    'scientists': ['n', 'm']
                }
            }
        }
        assert not artifactory_api_service.is_data_same(other_data)
Example #4
0
 def test_should_return_artifactory_api_request_with_proper_path_for_permission_type(
         self):
     data = {"name": "permission1"}
     assert artifactory_entity.ArtifactoryApiService(
         self.DOMAIN, artifactory_entity.PERMISSION_TYPE, self.USERNAME,
         self.PASSWORD, data, self.STATE).artifactory_api_request(
         ).path == "/api/security/permissions/permission1"
Example #5
0
 def test_should_return_artifactory_api_request_with_proper_path_for_group_type(
         self):
     data = {"name": "group1"}
     assert artifactory_entity.ArtifactoryApiService(
         self.DOMAIN, artifactory_entity.GROUP_TYPE, self.USERNAME,
         self.PASSWORD, data, self.STATE).artifactory_api_request(
         ).path == "/api/security/groups/group1"
Example #6
0
 def test_artifactory_api_service_should_create_returns_false_if_state_is_absent(
         self):
     with patch.multiple(artifactory_entity.ArtifactoryApiRequest,
                         get_entity=DEFAULT) as values:
         artifactory_api_service = artifactory_entity.ArtifactoryApiService(
             self.DOMAIN, self.TEST_ENTITY_TYPE, self.USERNAME,
             self.PASSWORD, self.TEST_DATA, "absent")
         assert not artifactory_api_service.should_create()
Example #7
0
 def test_artifactory_api_service_should_delete_returns_true_if_state_is_absent_and_status_code_is_200(
         self):
     with patch.multiple(artifactory_entity.ArtifactoryApiRequest,
                         get_entity=DEFAULT) as values:
         values['get_entity'].return_value = MagicMock(status_code=200)
         artifactory_api_service = artifactory_entity.ArtifactoryApiService(
             self.DOMAIN, self.TEST_ENTITY_TYPE, self.USERNAME,
             self.PASSWORD, self.TEST_DATA, "absent")
         assert artifactory_api_service.should_delete()
Example #8
0
 def test_should_return_default_values_in_full_data(self):
     artifactory_api_service = artifactory_entity.ArtifactoryApiService(
         self.DOMAIN, self.TEST_ENTITY_TYPE, self.USERNAME, self.PASSWORD,
         self.TEST_DATA, self.STATE)
     full_data = artifactory_api_service.full_data()
     assert full_data == {
         "default_key": "default_value",
         "test-key": "test-value"
     }
Example #9
0
 def test_artifactory_api_service_should_update_returns_false_if_status_code_is_not_200(
         self):
     with patch.multiple(artifactory_entity.ArtifactoryApiRequest,
                         get_entity=DEFAULT) as values:
         values['get_entity'].return_value = MagicMock(status_code=404)
         artifactory_api_service = artifactory_entity.ArtifactoryApiService(
             self.DOMAIN, self.TEST_ENTITY_TYPE, self.USERNAME,
             self.PASSWORD, self.TEST_DATA, self.STATE)
         assert not artifactory_api_service.should_update()
Example #10
0
 def test_should_return_overridden_values_for_repo_type_in_full_data(self):
     artifactory_api_service = artifactory_entity.ArtifactoryApiService(
         self.DOMAIN, artifactory_entity.LOCAL_REPOSITORY_TYPE,
         self.USERNAME, self.PASSWORD, self.TEST_REPO_DATA, self.STATE)
     full_data = artifactory_api_service.full_data()
     assert full_data == {
         "default_key": "overridden_value",
         "packageType": self.TEST_REPO_PACKAGE_TYPE,
         'key': 'sample-repo'
     }
Example #11
0
 def test_data_same_should_return_false_if_data_are_different_for_virtual_repo(
         self):
     artifactory_api_service = artifactory_entity.ArtifactoryApiService(
         self.DOMAIN, artifactory_entity.VIRTUAL_REPOSITORY_TYPE,
         self.USERNAME, self.PASSWORD, self.TEST_REPO_DATA, self.STATE)
     other_data = {
         "default_key": "value",
         "packageType": self.TEST_REPO_PACKAGE_TYPE,
         'key': 'sample-repo'
     }
     assert not artifactory_api_service.is_data_same(other_data)
Example #12
0
    def test_should_return_data_provided_in_full_data(self):
        data = copy.deepcopy(self.TEST_DATA)
        data['default_key'] = 'data_value'

        artifactory_api_service = artifactory_entity.ArtifactoryApiService(
            self.DOMAIN, self.TEST_ENTITY_TYPE, self.USERNAME, self.PASSWORD,
            data, self.STATE)
        full_data = artifactory_api_service.full_data()
        assert full_data == {
            "default_key": "data_value",
            "test-key": "test-value"
        }
Example #13
0
    def test_should_return_data_provided_for_repo_type_in_full_data(self):
        data = copy.deepcopy(self.TEST_REPO_DATA)
        data['default_key'] = 'data_value'

        artifactory_api_service = artifactory_entity.ArtifactoryApiService(
            self.DOMAIN, artifactory_entity.LOCAL_REPOSITORY_TYPE,
            self.USERNAME, self.PASSWORD, data, self.STATE)
        full_data = artifactory_api_service.full_data()
        assert full_data == {
            "default_key": "data_value",
            "packageType": self.TEST_REPO_PACKAGE_TYPE,
            'key': 'sample-repo'
        }
Example #14
0
    def test_artifactory_api_service_should_update(self):
        with patch.multiple(artifactory_entity.ArtifactoryApiRequest,
                            post_entity=DEFAULT) as values:
            values['post_entity'].return_value = dict(a='b')

            artifactory_api_service = artifactory_entity.ArtifactoryApiService(
                self.DOMAIN, self.TEST_ENTITY_TYPE, self.USERNAME,
                self.PASSWORD, self.TEST_DATA, self.STATE)
            result = artifactory_api_service.update()
            assert result == dict(a='b')
            values['post_entity'].assert_called_with({
                "default_key": "default_value",
                "test-key": "test-value"
            })
Example #15
0
    def test_artifactory_api_service_should_update_permission_type_by_calling_create(
            self):
        with patch.multiple(artifactory_entity.ArtifactoryApiRequest,
                            put_entity=DEFAULT) as values:
            values['put_entity'].return_value = dict(a='b')

            artifactory_api_service = artifactory_entity.ArtifactoryApiService(
                self.DOMAIN, artifactory_entity.PERMISSION_TYPE, self.USERNAME,
                self.PASSWORD, {"name": "permission1"}, self.STATE)
            result = artifactory_api_service.update()
            assert result == dict(a='b')
            values['put_entity'].assert_called_with({
                "default_key": "default_value",
                "name": "permission1"
            })
Example #16
0
    def test_data_same_should_return_false_if_data_are_different_for_remote_repo(
            self):
        data = copy.deepcopy(self.TEST_REPO_DATA)
        data["rclass"] = "remote"
        data["description"] = "Alpine repo"

        artifactory_api_service = artifactory_entity.ArtifactoryApiService(
            self.DOMAIN, artifactory_entity.REMOTE_REPOSITORY_TYPE,
            self.USERNAME, self.PASSWORD, self.TEST_REPO_DATA, self.STATE)
        other_data = {
            "default_key": "default_value",
            "packageType": self.TEST_REPO_PACKAGE_TYPE,
            'rclass': "remote",
            'key': 'sample-repo',
            'description': "Sample repo (local file cache)"
        }
        assert not artifactory_api_service.is_data_same(other_data)
Example #17
0
    def test_artifactory_api_service_should_update_returns_false_if_status_code_is_200_and_data_is_different(
            self):
        with patch.multiple(artifactory_entity.ArtifactoryApiRequest,
                            get_entity=DEFAULT) as api_request_values:
            with patch.multiple(artifactory_entity.ArtifactoryApiService,
                                is_data_same=DEFAULT) as service_values:

                response_data = {'test-key': 'test-value'}
                response_mock = MagicMock(status_code=200)
                attrs = {'json.return_value': response_data}
                response_mock.configure_mock(**attrs)

                api_request_values['get_entity'].return_value = response_mock
                service_values['is_data_same'].return_value = False

                artifactory_api_service = artifactory_entity.ArtifactoryApiService(
                    self.DOMAIN, self.TEST_ENTITY_TYPE, self.USERNAME,
                    self.PASSWORD, self.TEST_DATA, self.STATE)
                updated = artifactory_api_service.should_update()
                service_values['is_data_same'].assert_called_with(
                    response_data)

                assert updated
Example #18
0
 def test_artifactory_api_service_should_update_returns_false_if_state_is_absent(
         self):
     artifactory_api_service = artifactory_entity.ArtifactoryApiService(
         self.DOMAIN, self.TEST_ENTITY_TYPE, self.USERNAME, self.PASSWORD,
         self.TEST_DATA, "absent")
     assert not artifactory_api_service.should_update()
Example #19
0
 def test_artifactory_api_service_should_delete(self, mock_method):
     artifactory_api_service = artifactory_entity.ArtifactoryApiService(
         self.DOMAIN, self.TEST_ENTITY_TYPE, self.USERNAME, self.PASSWORD,
         self.TEST_DATA, self.STATE)
     result = artifactory_api_service.delete()
     assert result == dict(a='b')
Example #20
0
 def test_is_repo_type_should_return_False_if_not_a_repository_type(self):
     assert not artifactory_entity.ArtifactoryApiService(
         self.DOMAIN, "RANDOM_ENTITY_TYPE", self.USERNAME, self.PASSWORD,
         self.TEST_DATA, self.STATE).is_repo_type()