Ejemplo n.º 1
0
class MockModel:
    """Implement a mock model for testing."""
    def __init__(self):
        """Initialize the mock, creating an empty node for tests."""
        self.empty_node = DeploymentNode(name="Empty", environment="Live")
        self.empty_node.set_model(self)
        self.mock_element = MockElement("element")

    def __iadd__(self, node):
        """Simulate the model assigning IDs to new elements."""
        if not node.id:
            node.id = "id"
        node.set_model(self)
        return self

    def get_element(self, id: str):
        """Simulate getting an element by ID."""
        assert id == self.mock_element.id
        return self.mock_element

    def get_elements(self):
        """Simulate get_elements."""
        return []

    def add_relationship(self, **kwargs):
        """Simulate adding relationships."""
        return Relationship(**kwargs)
Ejemplo n.º 2
0
def test_deployment_node_uses_adds_relationship(model_with_node):
    """Test begin able to add a relationships between deployment nodes with using()."""
    node1 = model_with_node.empty_node
    node2 = DeploymentNode(name="node2")
    node2.set_model(model_with_node)
    rel = node1.uses(node2, "Replicates data to", technology="Some tech")

    assert rel.source is node1
    assert rel.destination is node2
    assert rel.description == "Replicates data to"
    assert rel.technology == "Some tech"