From a1f74c6b6fefb0e8e5f1d84d60d8ce11d511437b Mon Sep 17 00:00:00 2001 From: Piero Toffanin Date: Tue, 4 Dec 2018 10:45:09 -0500 Subject: [PATCH] Handle errors in update_node_info, new token permission logic --- nodeodm/external/NodeODM | 2 +- nodeodm/models.py | 3 +++ nodeodm/tests.py | 6 +++--- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nodeodm/external/NodeODM b/nodeodm/external/NodeODM index b9b12251..bcbec55c 160000 --- a/nodeodm/external/NodeODM +++ b/nodeodm/external/NodeODM @@ -1 +1 @@ -Subproject commit b9b12251582bd0240103cb17d0d889f3927fdcb9 +Subproject commit bcbec55c039b02c068da18da466f268d1baa1fce diff --git a/nodeodm/models.py b/nodeodm/models.py index 89a11a96..477879ed 100644 --- a/nodeodm/models.py +++ b/nodeodm/models.py @@ -70,6 +70,9 @@ class ProcessingNode(models.Model): api_client = self.api_client(timeout=5) try: info = api_client.info() + if 'error' in info: + return False + self.api_version = info['version'] self.queue_count = info['taskQueueCount'] diff --git a/nodeodm/tests.py b/nodeodm/tests.py index de6d5afa..82fffb51 100644 --- a/nodeodm/tests.py +++ b/nodeodm/tests.py @@ -215,10 +215,10 @@ class TestClientApi(TestCase): self.assertTrue(online_node.update_node_info(), "Could update info") - # Can always call info(), options() (even without valid tokens) + # Cannot call info(), options() without tokens api.token = "invalid" - self.assertTrue(type(api.info()['version']) == str) - self.assertTrue(len(api.options()) > 0) + self.assertTrue(type(api.info()['error']) == str) + self.assertTrue(type(api.options()['error']) == str) # Cannot call new_task() without token import glob