From bbea6c4451a072bf6b29396b9a05d66e91d8d803 Mon Sep 17 00:00:00 2001 From: Kristijan Mitrovic Date: Sun, 14 Jun 2020 18:05:17 +0200 Subject: [PATCH] Set and test proper network state on startup --- .../listener/BubbleFirstTimeListener.java | 7 +++++++ .../resources/models/include/new_bubble.json | 6 ++++++ .../models/tests/live/backup_and_restore.json | 19 ++++++++++++++++--- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/bubble-server/src/main/java/bubble/server/listener/BubbleFirstTimeListener.java b/bubble-server/src/main/java/bubble/server/listener/BubbleFirstTimeListener.java index 94b62cf7..0b3c8ca1 100644 --- a/bubble-server/src/main/java/bubble/server/listener/BubbleFirstTimeListener.java +++ b/bubble-server/src/main/java/bubble/server/listener/BubbleFirstTimeListener.java @@ -7,6 +7,7 @@ package bubble.server.listener; import bubble.ApiConstants; import bubble.dao.account.AccountDAO; import bubble.dao.account.AccountPolicyDAO; +import bubble.dao.cloud.BubbleNetworkDAO; import bubble.model.account.Account; import bubble.model.account.AccountPolicy; import bubble.model.account.message.AccountAction; @@ -14,6 +15,7 @@ import bubble.model.account.message.AccountMessage; import bubble.model.account.message.AccountMessageType; import bubble.model.account.message.ActionTarget; import bubble.model.cloud.BubbleNetwork; +import bubble.model.cloud.BubbleNetworkState; import bubble.server.BubbleConfiguration; import bubble.service.boot.SageHelloService; import lombok.extern.slf4j.Slf4j; @@ -78,6 +80,11 @@ public class BubbleFirstTimeListener extends RestServerLifecycleListenerBase>" }, + "response": { "check": [{ "condition": "json.getState().name() == 'running'" }] } } ] diff --git a/bubble-server/src/test/resources/models/tests/live/backup_and_restore.json b/bubble-server/src/test/resources/models/tests/live/backup_and_restore.json index 7689fec2..796297bd 100644 --- a/bubble-server/src/test/resources/models/tests/live/backup_and_restore.json +++ b/bubble-server/src/test/resources/models/tests/live/backup_and_restore.json @@ -150,18 +150,25 @@ "response": { "store": "restoreNN", "check": [ - {"condition": "restoreNN.getNetwork() == bubbleNetwork.getNetwork()"} + { "condition": "restoreNN.getNetwork() == bubbleNetwork.getNetwork()" }, + { "condition": "restoreNN.getState().name() == 'starting'" } ] } }, { - "comment": "restore node using restoreKey", - "before": "await_url .bubble 16m:20m 20s", + "comment": "wait for network and then check its status - should be running", "connection": { "name": "restoredBubbleConnection", "baseUri": "https://{{restoreNN.fqdn}}:{{serverConfig.nginxPort}}/api" }, + "before": "await_url .bubble 16m:20m 20s", + "request": { "uri": "me/networks/{{ restoreNN.getNetwork() }}" }, + "response": { "check": [{ "condition": "json.getState().name() == 'restoring'" }] } + }, + + { + "comment": "restore node using restoreKey", "request": { "uri": "auth/restore/{{restoreNN.restoreKey}}", "entity": { @@ -190,6 +197,12 @@ } }, + { + "comment": "check again for bubble's status - should be running", + "request": { "uri": "me/networks/{{ restoreNN.getNetwork() }}" }, + "response": { "check": [{ "condition": "json.getState().name() == 'running'" }] } + }, + { "comment": "verify account we added has been restored", "request": {