This is an automated email from the ASF dual-hosted git repository. cbickel pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk.git
The following commit(s) were added to refs/heads/master by this push: new 994fbe8 Add retry in updating-rule-test. (#3322) 994fbe8 is described below commit 994fbe8df3e82ead318d8df893393bfaa859dc49 Author: Markus Thömmes <markusthoem...@me.com> AuthorDate: Thu Feb 22 13:04:15 2018 +0100 Add retry in updating-rule-test. (#3322) Updating a rule causes a cache-invalidation, which needs to propagate to other controllers before a subsequent get is guaranteed to yield the correct result. --- .../src/test/scala/system/basic/WskRuleTests.scala | 26 +++++++++++++++------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/tests/src/test/scala/system/basic/WskRuleTests.scala b/tests/src/test/scala/system/basic/WskRuleTests.scala index bd30bc7..c0fc9d0 100644 --- a/tests/src/test/scala/system/basic/WskRuleTests.scala +++ b/tests/src/test/scala/system/basic/WskRuleTests.scala @@ -29,6 +29,8 @@ import common.RuleActivationResult import spray.json._ import spray.json.DefaultJsonProtocol._ import java.time.Instant +import whisk.utils.retry +import scala.concurrent.duration._ @RunWith(classOf[JUnitRunner]) abstract class WskRuleTests extends TestHelpers with WskTestHelpers { @@ -99,14 +101,22 @@ abstract class WskRuleTests extends TestHelpers with WskTestHelpers { statusPermutations.foreach { case (trigger, status) => if (status == active) wsk.rule.enable(ruleName) else wsk.rule.disable(ruleName) - wsk.rule - .create(ruleName, trigger, actionName, update = true) - .stdout - .parseJson - .asJsObject - .fields - .get("status") shouldBe status - wsk.rule.get(ruleName).stdout.parseJson.asJsObject.fields.get("status") shouldBe status + + // Needs to be retried since the enable/disable causes a cache invalidation which needs to propagate first + retry( + { + wsk.rule + .create(ruleName, trigger, actionName, update = true) + .stdout + .parseJson + .asJsObject + .fields + .get("status") shouldBe status + + wsk.rule.get(ruleName).stdout.parseJson.asJsObject.fields.get("status") shouldBe status + }, + 10, + Some(1.second)) } } -- To stop receiving notification emails like this one, please contact cbic...@apache.org.