def test_should_enable_and_decrease_dependency_score_based_on_edges(self): self.bar_service.needs = ['service://foobar42/bazservice'] # -1 self.baz_service.needs = ['service://foobar42/ackservice'] # -1 self.bar_service.needed_by = ['service://foobar42/ackservice'] # +1 compute_dependency_scores(self.components) self.assertEqual(self.bar_service.dependency_score, -1)
def test_should_ignore_cross_host_outward_dependencies(self): self.components['service://otherhost/foo'] = Service(self.otherhost, 'foo', {}) self.bar_service.needs = ['service://otherhost/foo'] compute_dependency_scores(self.components) self.assertEqual( self.bar_service.dependency_score, STANDALONE_SERVICE_RANK)
def test_should_ignore_cross_host_inward_dependencies(self): self.components['service://otherhost/foo'] = Service(self.otherhost, 'foo', {}) self.bar_service.needed_by = ['service://otherhost/foo'] compute_dependency_scores(self.components)
def test_should_decrease_dependency_score_when_outdoing_edge_found(self): self.bar_service.needs = ['service://foobar42/bazservice'] compute_dependency_scores(self.components) self.assertEqual(self.bar_service.dependency_score, -1)
def test_should_label_standalone_services(self): compute_dependency_scores(self.components) self.assertEqual( self.baz_service.dependency_score, STANDALONE_SERVICE_RANK)
except (KeyError, AttributeError), e: logger.debug('needed: ' + needed) raise e component.needs = needs_with_resolved_version_alias components._add_when_missing_ = False for component in components.values(): for dependent in getattr(component, 'needed_by', []): try: dependent_component = components[dependent] dependent_component.needs.add(component.uri) except KeyError, ke: logger.warning("unknown dependent key " + str(ke)) compute_dependency_scores(components) def store_status_locally(ignored, components): def _open_component_file(component_type): return open( os.path.join(yadtshell.settings.OUT_DIR, component_type), 'w') component_files = { yadtshell.settings.ARTEFACT: _open_component_file('artefacts'), yadtshell.settings.SERVICE: _open_component_file('services'), yadtshell.settings.HOST: _open_component_file('hosts'), } for component in components.values(): component_files[component.type].write(component.uri + "\n") for f in component_files.values():
except (KeyError, AttributeError), e: logger.debug('needed: ' + needed) raise e component.needs = needs_with_resolved_version_alias components._add_when_missing_ = False for component in components.values(): for dependent in getattr(component, 'needed_by', []): try: dependent_component = components[dependent] dependent_component.needs.add(component.uri) except KeyError, ke: logger.warning("unknown dependent key " + str(ke)) compute_dependency_scores(components) def store_status_locally(ignored, components): def _open_component_file(component_type): return open(os.path.join(yadtshell.settings.OUT_DIR, component_type), 'w') component_files = { yadtshell.settings.ARTEFACT: _open_component_file('artefacts'), yadtshell.settings.SERVICE: _open_component_file('services'), yadtshell.settings.HOST: _open_component_file('hosts'), } for component in components.values(): component_files[component.type].write(component.uri + "\n") for f in component_files.values(): f.close()