def test_module_can_not_declare_tests_for_another_module(self): manifest_data = ''' tests: unit: - modules.module_name_a.tests.tests.Main = 25 files: - manifest.yaml ''' manifests.ModuleManifest('module_name_a', manifest_data=manifest_data).get_tests() with self.assertRaises(Exception): manifests.ModuleManifest('module_name_b', manifest_data=manifest_data).get_tests()
def test_module_manifest_is_parsed(self): manifest_data = ''' registration: main_module: modules.sample.sample enabled: False tests: unit: - modules.sample.foo = 5 functional: - modules.sample.baz = 6 integration: - modules.sample.bar = 7 files: - foo - bar - baz - manifest.yaml ''' manifest = manifests.ModuleManifest('sample', manifest_data=manifest_data) assert manifest.data['tests']['unit'][0] == 'modules.sample.foo = 5' assert manifest.data['tests']['functional'][ 0] == 'modules.sample.baz = 6' assert manifest.data['tests']['integration'][ 0] == 'modules.sample.bar = 7' assert manifest.data['files'] == ['foo', 'bar', 'baz', 'manifest.yaml'] integration, non_integration = manifest.get_tests() assert 1 == len(integration) assert 2 == len(non_integration) self.assertEquals('modules.sample.sample', manifest.get_registration().main_module) self.assertFalse(manifest.get_registration().enabled)
def test_manifest_must_include_manifest_yaml(self): manifest_data = ''' files: - foo ''' with self.assertRaises(Exception): manifests.ModuleManifest('module_name', manifest_data=manifest_data)
def test_registration_section_is_validated(self): # Unexpected member in registration section manifest_data = ''' registration: foozle: blat files: - manifest.yaml ''' with self.assertRaisesRegexp(Exception, 'Unexpected member "foozle"'): manifests.ModuleManifest('sample', manifest_data=manifest_data) # Bad type for 'main_module' manifest_data = ''' registration: main_module: 123 files: - manifest.yaml ''' with self.assertRaisesRegexp(Exception, 'Expected <type \'basestring\'>'): manifests.ModuleManifest('sample', manifest_data=manifest_data) # Bad type for 'enabled' manifest_data = ''' registration: enabled: 123 files: - manifest.yaml ''' with self.assertRaisesRegexp(Exception, 'Expected <type \'bool\'>'): manifests.ModuleManifest('sample', manifest_data=manifest_data) # main_module does not start with 'modules.sample.' manifest_data = ''' registration: main_module: modules.foo.foo files: - manifest.yaml ''' manifest = manifests.ModuleManifest('sample', manifest_data=manifest_data) with self.assertRaisesRegexp( ValueError, 'Expected main module name to start with modules.sample., '): manifest.get_registration()
def test_module_manifest_is_validated_2(self): manifest_data = ''' tests: unit: - foo : bar files: - manifest.yaml ''' with self.assertRaises(Exception): manifests.ModuleManifest('sample', manifest_data=manifest_data)
def test_registration_section_not_mandatory(self): manifest_data = ''' files: - manifest.yaml ''' manifest = manifests.ModuleManifest('sample', manifest_data=manifest_data) # Verify default settings. self.assertIsNone(manifest.get_registration().main_module) self.assertTrue(manifest.get_registration().enabled)