Beispiel #1
0
 def test_dir_meta(self):
     test_meta = {'test': 'meta'}
     pkg = Package()
     pkg.set('asdf/jkl', LOCAL_MANIFEST)
     pkg.set('asdf/qwer', LOCAL_MANIFEST)
     pkg.set('qwer/asdf', LOCAL_MANIFEST)
     pkg.set('qwer/as/df', LOCAL_MANIFEST)
     pkg.build('Quilt/Test')
     assert pkg['asdf'].meta == {}
     assert pkg.meta == {}
     assert pkg['qwer']['as'].meta == {}
     pkg['asdf'].set_meta(test_meta)
     assert pkg['asdf'].meta == test_meta
     pkg['qwer']['as'].set_meta(test_meta)
     assert pkg['qwer']['as'].meta == test_meta
     pkg.set_meta(test_meta)
     assert pkg.meta == test_meta
     dump_path = 'test_meta'
     with open(dump_path, 'w') as f:
         pkg.dump(f)
     with open(dump_path) as f:
         pkg2 = Package.load(f)
     assert pkg2['asdf'].meta == test_meta
     assert pkg2['qwer']['as'].meta == test_meta
     assert pkg2.meta == test_meta
Beispiel #2
0
    def test_validate(self):
        pkg_name = 'test/name'
        msg = 'test message'
        meta = {'some': 'meta'}
        pkg = Package()
        pkg.set_meta(meta)

        workflow_validator = self.get_workflow_validator(
            data_to_store=mock.sentinel.data_to_store)
        methods_to_mock = (
            'validate_name',
            'validate_message',
            'validate_metadata',
            'validate_entries',
        )
        with mock.patch.multiple(
                workflows.WorkflowValidator,
                **dict.fromkeys(methods_to_mock, mock.DEFAULT)) as mocks:
            assert workflow_validator.validate(
                name=pkg_name,
                pkg=pkg,
                message=msg,
            ) is mock.sentinel.data_to_store

            mocks['validate_name'].assert_called_once_with(pkg_name)
            mocks['validate_message'].assert_called_once_with(msg)
            mocks['validate_metadata'].assert_called_once_with(meta)
            mocks['validate_entries'].assert_called_once_with(pkg)
Beispiel #3
0
 def _validate(self, registry=None, workflow=..., name='test/name', meta=None, message=None):
     registry = get_package_registry(registry)
     meta = meta or {}
     pkg = Package()
     pkg.set_meta(meta)
     return workflows.validate(registry=registry, workflow=workflow, name=name, pkg=pkg, message=message)