Fixing integration tests race conditions
diff --git a/test/integration/README.md b/test/integration/README.md
new file mode 100644
index 0000000..0361d32
--- /dev/null
+++ b/test/integration/README.md
@@ -0,0 +1,24 @@
+Integrations Test
+--
+
+Running these integration tests needs the following resources to be set up.
+
+Action
+---
+* Name: hello
+
+function main() {
+ return {payload: 'Hello world'};
+}
+
+Action
+---
+* Name: tests
+
+function main() {
+ return {payload: 'Hello world'};
+}
+
+Trigger
+---
+* Name: sample
diff --git a/test/integration/actions.test.js b/test/integration/actions.test.js
index e54e74d..612bb55 100644
--- a/test/integration/actions.test.js
+++ b/test/integration/actions.test.js
@@ -51,24 +51,7 @@
})
})
-test('get an action', t => {
- const params = {api: API_URL, api_key: API_KEY, namespace: NAMESPACE}
-
- const errors = err => {
- console.log(err)
- t.fail()
- }
- const actions = new Actions(params)
- return actions.list().then(result => {
- return actions.get({actionName: result[0].name}).then(action_result => {
- t.is(action_result.name, result[0].name)
- t.is(action_result.namespace, NAMESPACE)
- t.pass()
- }).catch(errors)
- }).catch(errors)
-})
-
-test('create and delete an action', t => {
+test('create, get and delete an action', t => {
const params = {api: API_URL, api_key: API_KEY, namespace: NAMESPACE}
const errors = err => {
@@ -82,8 +65,12 @@
t.is(result.namespace, NAMESPACE)
t.is(result.exec.kind, 'nodejs')
t.is(result.exec.code, 'function main() {return {payload:"testing"}}')
- t.pass()
- return actions.delete({actionName: 'random_action_test'}).catch(errors)
+ return actions.get({actionName: 'random_action_test'}).then(action_result => {
+ t.is(action_result.name, 'random_action_test')
+ t.is(action_result.namespace, NAMESPACE)
+ t.pass()
+ return actions.delete({actionName: 'random_action_test'}).catch(errors)
+ }).catch(errors)
}).catch(errors)
})
@@ -96,15 +83,15 @@
}
const actions = new Actions(params)
- return actions.create({actionName: 'random_update_test', action: 'function main() {return {payload:"testing"}}'}).then(result => {
- t.is(result.name, 'random_update_test')
+ return actions.create({actionName: 'random_update_tested', action: 'function main() {return {payload:"testing"}}'}).then(result => {
+ t.is(result.name, 'random_update_tested')
t.is(result.namespace, NAMESPACE)
t.is(result.exec.kind, 'nodejs')
t.is(result.exec.code, 'function main() {return {payload:"testing"}}')
- return actions.update({actionName: 'random_update_test', action: 'update test'}).then(update_result => {
+ return actions.update({actionName: 'random_update_tested', action: 'update test'}).then(update_result => {
t.is(update_result.exec.code, 'update test')
t.pass()
- return actions.delete({actionName: 'random_update_test'}).catch(errors)
+ return actions.delete({actionName: 'random_update_tested'}).catch(errors)
}).catch(errors)
}).catch(errors)
})
diff --git a/test/integration/packages.test.js b/test/integration/packages.test.js
index 64b6cbf..9258bac 100644
--- a/test/integration/packages.test.js
+++ b/test/integration/packages.test.js
@@ -51,24 +51,7 @@
})
})
-test('get an package', t => {
- const params = {api: API_URL, api_key: API_KEY, namespace: NAMESPACE}
-
- const errors = err => {
- console.log(err)
- t.fail()
- }
- const packages = new Packages(params)
- return packages.list().then(result => {
- return packages.get({packageName: result[0].name}).then(package_result => {
- t.is(package_result.name, result[0].name)
- t.is(package_result.namespace, NAMESPACE)
- t.pass()
- }).catch(errors)
- }).catch(errors)
-})
-
-test('create and delete an package', t => {
+test('create, get and delete an package', t => {
const params = {api: API_URL, api_key: API_KEY, namespace: NAMESPACE}
const errors = err => {
@@ -82,8 +65,12 @@
t.is(result.namespace, NAMESPACE)
t.same(result.annotations, [])
t.is(result.version, '0.0.1')
- t.pass()
- return packages.delete({packageName: 'random_package_test'}).catch(errors)
+ return packages.get({packageName: 'random_package_test'}).then(package_result => {
+ t.is(package_result.name, 'random_package_test')
+ t.is(package_result.namespace, NAMESPACE)
+ t.pass()
+ return packages.delete({packageName: 'random_package_test'}).catch(errors)
+ }).catch(errors)
}).catch(errors)
})
@@ -96,15 +83,15 @@
}
const packages = new Packages(params)
- return packages.create({packageName: 'random_update_test'}).then(result => {
- t.is(result.name, 'random_update_test')
+ return packages.create({packageName: 'random_package_update_test'}).then(result => {
+ t.is(result.name, 'random_package_update_test')
t.is(result.namespace, NAMESPACE)
t.same(result.annotations, [])
t.is(result.version, '0.0.1')
- return packages.update({packageName: 'random_update_test'}).then(update_result => {
+ return packages.update({packageName: 'random_package_update_test'}).then(update_result => {
t.is(update_result.version, '0.0.2')
t.pass()
- return packages.delete({packageName: 'random_update_test'}).catch(errors)
+ return packages.delete({packageName: 'random_package_update_test'}).catch(errors)
}).catch(errors)
}).catch(errors)
})
diff --git a/test/integration/rules.test.js b/test/integration/rules.test.js
index af762ae..9ec805e 100644
--- a/test/integration/rules.test.js
+++ b/test/integration/rules.test.js
@@ -51,24 +51,7 @@
})
})
-test('get an rule', t => {
- const params = {api: API_URL, api_key: API_KEY, namespace: NAMESPACE}
-
- const errors = err => {
- console.log(err)
- t.fail()
- }
- const rules = new Rules(params)
- return rules.list().then(result => {
- return rules.get({ruleName: result[0].name}).then(rule_result => {
- t.is(rule_result.name, result[0].name)
- t.is(rule_result.namespace, NAMESPACE)
- t.pass()
- }).catch(errors)
- }).catch(errors)
-})
-
-test('create and delete an rule', t => {
+test('create, get and delete an rule', t => {
const params = {api: API_URL, api_key: API_KEY, namespace: NAMESPACE}
const errors = err => {
@@ -82,8 +65,12 @@
t.is(result.namespace, NAMESPACE)
t.is(result.action, 'hello')
t.is(result.trigger, 'sample')
- t.pass()
- return rules.delete({ruleName: 'random_rule_test'}).catch(errors)
+ return rules.get({ruleName: result.name}).then(rule_result => {
+ t.is(rule_result.name, result.name)
+ t.is(rule_result.namespace, NAMESPACE)
+ t.pass()
+ return rules.delete({ruleName: 'random_rule_test'}).catch(errors)
+ }).catch(errors)
}).catch(errors)
})
@@ -108,27 +95,3 @@
}).catch(errors)
}).catch(errors)
})
-
-test('create, enable and disable rule', t => {
- const params = {api: API_URL, api_key: API_KEY, namespace: NAMESPACE}
-
- const errors = err => {
- console.log(err)
- t.fail()
- }
-
- const rules = new Rules(params)
- return rules.create({ruleName: 'random_enable_test', action: 'hello', trigger: 'sample'}).then(result => {
- t.is(result.name, 'random_enable_test')
- t.is(result.status, 'inactive')
- t.is(result.namespace, NAMESPACE)
- t.is(result.action, 'hello')
- t.is(result.trigger, 'sample')
- return rules.enable({ruleName: 'random_enable_test'}).then(update_result => {
- return rules.disable({ruleName: 'random_enable_test'}).then(() => {
- t.pass()
- return rules.delete({ruleName: 'random_enable_test'}).catch(errors)
- })
- }).catch(errors)
- }).catch(errors)
-})
diff --git a/test/integration/triggers.test.js b/test/integration/triggers.test.js
index 7c900fc..bcf77c5 100644
--- a/test/integration/triggers.test.js
+++ b/test/integration/triggers.test.js
@@ -51,24 +51,7 @@
})
})
-test('get an trigger', t => {
- const params = {api: API_URL, api_key: API_KEY, namespace: NAMESPACE}
-
- const errors = err => {
- console.log(err)
- t.fail()
- }
- const triggers = new Triggers(params)
- return triggers.list().then(result => {
- return triggers.get({triggerName: result[0].name}).then(trigger_result => {
- t.is(trigger_result.name, result[0].name)
- t.is(trigger_result.namespace, NAMESPACE)
- t.pass()
- }).catch(errors)
- }).catch(errors)
-})
-
-test('create and delete an trigger', t => {
+test('create, get and delete an trigger', t => {
const params = {api: API_URL, api_key: API_KEY, namespace: NAMESPACE}
const errors = err => {
@@ -84,7 +67,12 @@
t.is(result.version, '0.0.1')
t.same(result.limits, {})
t.pass()
- return triggers.delete({triggerName: 'random_trigger_test'}).catch(errors)
+ return triggers.get({triggerName: result.name}).then(trigger_result => {
+ t.is(trigger_result.name, result.name)
+ t.is(trigger_result.namespace, NAMESPACE)
+ t.pass()
+ return triggers.delete({triggerName: result.name}).catch(errors)
+ }).catch(errors)
}).catch(errors)
})
@@ -97,16 +85,16 @@
}
const triggers = new Triggers(params)
- return triggers.create({triggerName: 'random_update_test'}).then(result => {
- t.is(result.name, 'random_update_test')
+ return triggers.create({triggerName: 'random_create_update_test'}).then(result => {
+ t.is(result.name, 'random_create_update_test')
t.is(result.namespace, NAMESPACE)
t.same(result.annotations, [])
t.is(result.version, '0.0.1')
t.same(result.limits, {})
- return triggers.update({triggerName: 'random_update_test'}).then(update_result => {
+ return triggers.update({triggerName: 'random_create_update_test'}).then(update_result => {
t.is(update_result.version, '0.0.2')
t.pass()
- return triggers.delete({triggerName: 'random_update_test'}).catch(errors)
+ return triggers.delete({triggerName: 'random_create_update_test'}).catch(errors)
}).catch(errors)
}).catch(errors)
})