def destroy_all_blueprints(self): """ Destroys all blueprints at this facility """ self.power_on() nodes = PlumberyNodes(self) infrastructure = PlumberyInfrastructure(self) basement = self.list_basement() for name in self.expand_blueprint('*'): if name in basement: continue blueprint = self.get_blueprint(name) plogging.debug("Destroying blueprint '{}'".format(name)) nodes.destroy_blueprint(blueprint) infrastructure.destroy_blueprint(blueprint) for name in basement: blueprint = self.get_blueprint(name) plogging.debug("Destroying blueprint '{}'".format(name)) nodes.destroy_blueprint(blueprint) infrastructure.destroy_blueprint(blueprint)
def wipe_blueprint(self, names): """ Destroys nodes of a given blueprint at this facility :param names: the names of the blueprint to destroy :type names: ``str`` or ``list`` of ``str`` """ self.power_on() nodes = PlumberyNodes(self) for name in self.expand_blueprint(names): blueprint = self.get_blueprint(name) nodes.destroy_blueprint(blueprint)
def destroy_blueprint(self, names): """ Destroys a given blueprint at this facility :param names: the name(s) of the blueprint(s) to destroy :type names: ``str`` or ``list`` of ``str`` """ self.power_on() nodes = PlumberyNodes(self) infrastructure = PlumberyInfrastructure(self) for name in self.expand_blueprint(names): blueprint = self.get_blueprint(name) nodes.destroy_blueprint(blueprint) infrastructure.destroy_blueprint(blueprint)
class TestPlumberyNodes(unittest.TestCase): def setUp(self): self.nodes = PlumberyNodes(FakeFacility()) def tearDown(self): self.nodes = None def test_build_blueprint(self): domain = FakeDomain() self.nodes.build_blueprint(fakeBlueprint, domain) def test_destroy_blueprint(self): self.nodes.destroy_blueprint(fakeBlueprint) def test_get_node(self): self.nodes.get_node("stackstorm") def test_start_nodes(self): self.nodes.start_blueprint("fake") def test_stop_nodes(self): self.nodes.stop_blueprint("fake")