def test_updates_last_check_time(self, session, monkeypatch): monkeypatch.setattr(nodes, "check_node_health", mock_check_node_health(True)) session.app.post("/api/nodes/chacra.ceph.com/") n = Node.get(1) last_check = n.last_check.time() session.app.post("/api/nodes/chacra.ceph.com/") n = Node.get(1) assert n.last_check.time() > last_check
def test_updates_healthy(self, session, monkeypatch): monkeypatch.setattr(nodes, "check_node_health", mock_check_node_health(True)) session.app.post("/api/nodes/chacra.ceph.com/") n = Node.get(1) n.healthy = False session.commit() session.app.post("/api/nodes/chacra.ceph.com/") n = Node.get(1) assert n.healthy
def test_updates_last_check_time(self, session, monkeypatch): monkeypatch.setattr(nodes, "check_node_health", mock_check_node_health(True)) session.app.post("/api/nodes/chacra.ceph.com/") n = Node.get(1) last_check = n.last_check.time() session.app.post("/api/nodes/chacra.ceph.com/") n = Node.get(1) assert n.last_check.time() > last_check
def test_updates_healthy(self, session, monkeypatch): monkeypatch.setattr(nodes, "check_node_health", mock_check_node_health(True)) session.app.post("/api/nodes/chacra.ceph.com/") n = Node.get(1) n.healthy = False session.commit() session.app.post("/api/nodes/chacra.ceph.com/") n = Node.get(1) assert n.healthy
def test_down_count_is_incremented(self, m_get, session): m_get.return_value.ok = False node = Node("chacra.ceph.com") session.commit() util.is_node_healthy(node) node = Node.get(1) assert node.down_count == 1
def test_down_count_is_incremented(self, m_get, session): m_get.return_value.ok = False node = Node("chacra.ceph.com") session.commit() util.is_node_healthy(node) node = Node.get(1) assert node.down_count == 1
def test_node_fails_initial_check(self, session, monkeypatch): monkeypatch.setattr(nodes, "check_node_health", mock_check_node_health(False)) session.app.post("/api/nodes/chacra.ceph.com/") n = Node.get(1) assert n.host == "chacra.ceph.com" assert not n.healthy
def test_down_count_is_cleared_when_healthy(self, m_get, session): m_get.return_value.ok = True node = Node("chacra.ceph.com") node.down_count = 2 session.commit() util.is_node_healthy(node) node = Node.get(1) assert node.down_count == 0
def test_node_exceeds_down_count_limit(self, m_get, session): m_get.return_value.ok = False node = Node("chacra.ceph.com") node.down_count = 2 session.commit() util.is_node_healthy(node) node = Node.get(1) assert not node.healthy
def test_down_count_is_cleared_when_healthy(self, m_get, session): m_get.return_value.ok = True node = Node("chacra.ceph.com") node.down_count = 2 session.commit() util.is_node_healthy(node) node = Node.get(1) assert node.down_count == 0
def test_node_exceeds_down_count_limit(self, m_get, session): m_get.return_value.ok = False node = Node("chacra.ceph.com") node.down_count = 2 session.commit() util.is_node_healthy(node) node = Node.get(1) assert not node.healthy
def test_last_check_is_updated(self, m_get, session): m_get.return_value.ok = True node = Node("chacra.ceph.com") last_check = datetime.datetime.now() node.last_check = datetime.datetime.now() session.commit() util.is_node_healthy(node) node = Node.get(1) assert node.last_check.time() > last_check.time()
def test_last_check_is_updated(self, m_get, session): m_get.return_value.ok = True node = Node("chacra.ceph.com") last_check = datetime.datetime.now() node.last_check = datetime.datetime.now() session.commit() util.is_node_healthy(node) node = Node.get(1) assert node.last_check.time() > last_check.time()
def test_healthy_is_true_when_rejoining_pool(self, m_get, session): """ Tests the scenario where a node has been marked down, but is now up again and needs to rejoin the pool. """ m_get.return_value.ok = True node = Node("chacra.ceph.com") node.down_count = 3 node.healthy = False session.commit() util.is_node_healthy(node) node = Node.get(1) assert node.down_count == 0 assert node.healthy
def test_healthy_is_true_when_rejoining_pool(self, m_get, session): """ Tests the scenario where a node has been marked down, but is now up again and needs to rejoin the pool. """ m_get.return_value.ok = True node = Node("chacra.ceph.com") node.down_count = 3 node.healthy = False session.commit() util.is_node_healthy(node) node = Node.get(1) assert node.down_count == 0 assert node.healthy
def test_node_fails_initial_check(self, session, monkeypatch): monkeypatch.setattr(nodes, "check_node_health", mock_check_node_health(False)) session.app.post("/api/nodes/chacra.ceph.com/") n = Node.get(1) assert n.host == "chacra.ceph.com" assert not n.healthy
def test_create_node(self, session, monkeypatch): monkeypatch.setattr(nodes, "check_node_health", mock_check_node_health(True)) session.app.post("/api/nodes/chacra.ceph.com/") n = Node.get(1) assert n.host == "chacra.ceph.com"
def _get_next_node(): node = Node.get(1) return node
def _get_next_node(): node = Node.get(1) return node
def test_create_node(self, session, monkeypatch): monkeypatch.setattr(nodes, "check_node_health", mock_check_node_health(True)) session.app.post("/api/nodes/chacra.ceph.com/") n = Node.get(1) assert n.host == "chacra.ceph.com"