Пример #1
0
    def test_delete(self):
        repository = Mock()

        # test
        remote = Remote('123', repository)
        remote.delete()

        # validation
        repository.open.assert_called_once_with()
        repository.impl.remote_delete.assert_called_once_with(remote.id, None)
Пример #2
0
    def test_delete(self):
        repository = Mock()

        # test
        remote = Remote('123', repository)
        remote.delete()

        # validation
        repository.open.assert_called_once_with()
        repository.impl.remote_delete.assert_called_once_with(remote.id, None)
Пример #3
0
    def test_add(self, options):
        repository = Mock()

        # test
        remote = Remote('123', repository)
        remote.add()

        # validation
        repository.open.assert_called_once_with()
        repository.impl.remote_add.assert_called_once_with(remote.id, remote.url, options, None)
Пример #4
0
    def test_list_refs(self, lib, ref):
        remote_id = '123'

        summary = {
            'branch:1': 'commit:1',
            'branch:2': 'commit:2'
        }
        commits = [
            ('commit:1', [{'version': 1}]),
            ('commit:2', [{'version': 2}])
        ]

        _lib = Mock()
        lib_repo = Mock()
        lib_repo.remote_list_refs.return_value = (1, summary)
        lib_repo.load_variant.side_effect = commits
        _lib.OSTree.ObjectType.COMMIT = 'COMMIT'
        _lib.OSTree.RepoPullFlags.COMMIT_ONLY = 'COMMIT_ONLY'
        lib.return_value = _lib

        ref_objects = [Mock(), Mock()]
        ref.side_effect = ref_objects

        # test
        remote = Remote(remote_id, Mock(impl=lib_repo))
        remote.open = Mock()
        listed = remote.list_refs(required=True)

        # validation
        lib.assert_called_with()
        remote.open.assert_called_once_with()
        lib_repo.remote_list_refs.assert_called_once_with(remote_id, None)
        lib_repo.pull.assert_called_once_with(
            remote_id,
            sorted(summary.keys()),
            _lib.OSTree.RepoPullFlags.COMMIT_ONLY,
            None,
            None)
        self.assertEqual(
            ref.call_args_list,
            [
                (('branch:1', 'commit:1', {'version': 1}), {}),
                (('branch:2', 'commit:2', {'version': 2}), {}),
            ])
        self.assertEqual(
            lib_repo.load_variant.call_args_list,
            [
                ((_lib.OSTree.ObjectType.COMMIT, 'commit:1'), {}),
                ((_lib.OSTree.ObjectType.COMMIT, 'commit:2'), {}),
            ])
        self.assertEqual(listed, ref_objects)
Пример #5
0
    def test_update_not_exist(self, _list):
        repository = Mock()
        _list.return_value = []

        # test
        remote = Remote('123', repository)
        remote.delete = Mock()
        remote.add = Mock()
        remote.update()

        # validation
        _list.assert_called_once_with(repository)
        remote.add.assert_called_once_with()
        self.assertFalse(remote.delete.called)
Пример #6
0
    def test_options(self, lib):
        _lib = Mock()
        _lib.GLib.Variant.side_effect = variant
        lib.return_value = _lib

        # test
        remote = Remote('', '')
        remote.ssl_key_path = '/tmp/key'
        remote.ssl_cert_path = '/tmp/certificate'
        remote.ssl_ca_path = '/tmp/ca'
        remote.ssl_validation = True
        remote.gpg_validation = True
        remote.proxy_url = 'http://proxy'
        options = remote.options

        # validation
        self.assertEqual(
            options,
            ('a{sv}', {
                'tls-client-cert-path': ('s', '/tmp/certificate'),
                'tls-client-key-path': ('s', '/tmp/key'),
                'tls-permissive': ('s', 'false'),
                'gpg-verify': ('s', 'true'),
                'tls-ca-path': ('s', '/tmp/ca'),
                'proxy': ('s', 'http://proxy')
            })
        )
Пример #7
0
    def test_update(self, _list):
        remote_id = '123'
        repository = Mock()
        _list.return_value = [remote_id]

        # test
        remote = Remote(remote_id, repository)
        remote.delete = Mock()
        remote.add = Mock()
        remote.update()

        # validation
        _list.assert_called_once_with(repository)
        remote.delete.assert_called_once_with()
        remote.add.assert_called_once_with()
Пример #8
0
    def test_list(self):
        repository = Mock()

        # test
        remotes = Remote.list(repository)

        # validation
        self.assertEqual(remotes, repository.impl.remote_list.return_value)
Пример #9
0
    def test_list(self):
        repository = Mock()

        # test
        remotes = Remote.list(repository)

        # validation
        self.assertEqual(remotes, repository.impl.remote_list.return_value)
Пример #10
0
    def test_list_refs_no_summary(self, lib):
        remote_id = '123'

        _lib = Mock()
        _lib.GLib.GError = GError
        lib_repo = Mock()
        lib_repo.remote_list_refs.side_effect = GError()
        lib.return_value = _lib

        # test
        remote = Remote(remote_id, Mock(impl=lib_repo))
        remote.open = Mock()
        listed = remote.list_refs()

        # validation
        lib.assert_called_with()
        remote.open.assert_called_once_with()
        lib_repo.remote_list_refs.assert_called_once_with(remote_id, None)
        self.assertEqual(listed, [])
Пример #11
0
    def test_import_key(self, lib):
        repository = Mock()
        keyring = '/tmp/keyring'
        key_id = 'test-key'
        fp = Mock()
        _lib = Mock()
        _lib.GLib.GError = GError
        _lib.Gio.File.new_for_path.return_value = fp
        lib.return_value = _lib

        # test
        remote = Remote('123', repository)
        remote.import_key(keyring, [key_id])

        # validation
        repository.open.assert_called_once_with()
        _lib.Gio.File.new_for_path.assert_called_once_with(keyring)
        repository.impl.remote_gpg_import.assert_called_once_with(
            remote.id, fp.read.return_value, [key_id])
Пример #12
0
    def test_import_key(self, lib):
        repository = Mock()
        keyring = '/tmp/keyring'
        key_id = 'test-key'
        fp = Mock()
        _lib = Mock()
        _lib.GLib.GError = GError
        _lib.Gio.File.new_for_path.return_value = fp
        lib.return_value = _lib

        # test
        remote = Remote('123', repository)
        remote.import_key(keyring, [key_id])

        # validation
        repository.open.assert_called_once_with()
        _lib.Gio.File.new_for_path.assert_called_once_with(keyring)
        repository.impl.remote_gpg_import.assert_called_once_with(
            remote.id, fp.read.return_value, [key_id])
Пример #13
0
    def test_list_refs_no_summary(self, lib):
        remote_id = '123'

        _lib = Mock()
        _lib.GLib.GError = GError
        lib_repo = Mock()
        lib_repo.remote_list_refs.side_effect = GError()
        lib.return_value = _lib

        # test
        remote = Remote(remote_id, Mock(impl=lib_repo))
        remote.open = Mock()
        listed = remote.list_refs()

        # validation
        lib.assert_called_with()
        remote.open.assert_called_once_with()
        lib_repo.remote_list_refs.assert_called_once_with(remote_id, None)
        self.assertEqual(listed, [])
Пример #14
0
    def test_list_refs_no_summary_but_required(self, lib):
        remote_id = '123'

        _lib = Mock()
        _lib.GLib.GError = GError
        lib_repo = Mock()
        lib_repo.remote_list_refs.side_effect = GError()
        lib.return_value = _lib

        # test and validation
        remote = Remote(remote_id, Mock(impl=lib_repo))
        self.assertRaises(LibError, remote.list_refs, True)
Пример #15
0
    def test_init(self):
        repository = Mock()
        remote_id = 'test'

        # test
        remote = Remote(remote_id, repository)

        # validation
        self.assertEqual(remote.repository, repository)
        self.assertEqual(remote.id, remote_id)
        self.assertEqual(remote.url, '')
        self.assertEqual(remote.ssl_ca_path, None)
        self.assertEqual(remote.ssl_cert_path, None)
        self.assertEqual(remote.ssl_key_path, None)
        self.assertEqual(remote.proxy_url, None)
        self.assertFalse(remote.ssl_validation)
        self.assertFalse(remote.gpg_validation)
Пример #16
0
    def test_update_not_exist(self, _list):
        repository = Mock()
        _list.return_value = []

        # test
        remote = Remote('123', repository)
        remote.delete = Mock()
        remote.add = Mock()
        remote.update()

        # validation
        _list.assert_called_once_with(repository)
        remote.add.assert_called_once_with()
        self.assertFalse(remote.delete.called)
Пример #17
0
    def test_update(self, _list):
        remote_id = '123'
        repository = Mock()
        _list.return_value = [remote_id]

        # test
        remote = Remote(remote_id, repository)
        remote.delete = Mock()
        remote.add = Mock()
        remote.update()

        # validation
        _list.assert_called_once_with(repository)
        remote.delete.assert_called_once_with()
        remote.add.assert_called_once_with()
Пример #18
0
 def test_open(self):
     repository = Mock()
     remote = Remote('123', repository)
     remote.open()
     repository.open.assert_called_once_with()
Пример #19
0
 def test_impl(self):
     repository = Mock()
     remote = Remote('123', repository)
     self.assertEqual(remote.impl, repository.impl)
Пример #20
0
 def test_open(self):
     repository = Mock()
     remote = Remote('123', repository)
     remote.open()
     repository.open.assert_called_once_with()