/** * @covers WindowsAzure\ServiceBus\ServiceBusRestProxy::getRule */ public function testRulesMayHaveActionAndFilter() { // Setup $topicName = 'testRulesMayHaveActionAndFilter'; $subscriptionName = 'sub'; $topicInfo = new TopicInfo($topicName); $subscriptionInfo = new SubscriptionInfo($subscriptionName); $this->safeDeleteSubscription($topicName, $subscriptionName); $this->safeDeleteTopic($topicName); $createTopicResult = $this->createTopic($topicInfo); $subscriptionInfo = $this->createSubscription($topicName, $subscriptionInfo); $expectedRuleOne = new RuleInfo('one'); $expectedRuleOne->withCorrelationFilter('my-id'); $expectedRuleTwo = new RuleInfo('two'); $expectedRuleTwo->withTrueFilter(); $expectedRuleThree = new RuleInfo('three'); $expectedRuleThree->withFalseFilter(); $expectedRuleFour = new RuleInfo('four'); $expectedRuleFour->withEmptyRuleAction(); $expectedRuleFive = new RuleInfo('five'); $expectedRuleFive->withSqlRuleAction('SET x = 5'); $expectedRuleSix = new RuleInfo('six'); $expectedRuleSix->withSqlFilter('x != 5'); // Test $actualRuleOne = $this->restProxy->createRule($topicName, $subscriptionName, $expectedRuleOne); $actualRuleTwo = $this->restProxy->createRule($topicName, $subscriptionName, $expectedRuleTwo); $actualRuleThree = $this->restProxy->createRule($topicName, $subscriptionName, $expectedRuleThree); $actualRuleFour = $this->restProxy->createRule($topicName, $subscriptionName, $expectedRuleFour); $actualRuleFive = $this->restProxy->createRule($topicName, $subscriptionName, $expectedRuleFive); $actualRuleSix = $this->restProxy->createRule($topicName, $subscriptionName, $expectedRuleSix); // Assert $this->assertNotNull($createTopicResult); $this->assertNotNull($subscriptionInfo); $this->assertInstanceOf('WindowsAzure\\ServiceBus\\Models\\CorrelationFilter', $actualRuleOne->getFilter()); $this->assertInstanceOf('WindowsAzure\\ServiceBus\\Models\\TrueFilter', $actualRuleTwo->getFilter()); $this->assertInstanceOf('WindowsAzure\\ServiceBus\\Models\\FalseFilter', $actualRuleThree->getFilter()); $this->assertInstanceOf('WindowsAzure\\ServiceBus\\Models\\EmptyRuleAction', $actualRuleFour->getAction()); $this->assertInstanceOf('WindowsAzure\\ServiceBus\\Models\\SqlRuleAction', $actualRuleFive->getAction()); $this->assertInstanceOf('WindowsAzure\\ServiceBus\\Models\\SqlFilter', $actualRuleSix->getFilter()); }
/** * @covers WindowsAzure\ServiceBus\ServiceBusRestProxy::createRule * @covers WindowsAzure\ServiceBus\ServiceBusRestProxy::createSubscription * @covers WindowsAzure\ServiceBus\ServiceBusRestProxy::createTopic */ public function testRulesMayHaveActionAndFilter() { // Arrange $topicName = 'TestRulesMayHaveAnActionAndFilter'; $this->restProxy->createTopic(new TopicInfo($topicName)); $this->restProxy->createSubscription($topicName, new SubscriptionInfo('sub')); // Act $ruleInfoOne = new RuleInfo('One'); $ruleInfoOne->withCorrelationFilter('my-id'); $ruleOne = $this->restProxy->createRule($topicName, 'sub', $ruleInfoOne); $ruleInfoTwo = new RuleInfo('Two'); $ruleInfoTwo->withTrueFilter(); $ruleTwo = $this->restProxy->createRule($topicName, 'sub', $ruleInfoTwo); $ruleInfoThree = new RuleInfo('Three'); $ruleInfoThree->withFalseFilter(); $ruleThree = $this->restProxy->createRule($topicName, 'sub', $ruleInfoThree); $ruleInfoFour = new RuleInfo('Four'); $ruleInfoFour->withEmptyRuleAction(); $ruleFour = $this->restProxy->createRule($topicName, 'sub', $ruleInfoFour); $ruleInfoFive = new RuleInfo('Five'); $ruleInfoFive->withSqlRuleAction('SET x = 5'); $ruleFive = $this->restProxy->createRule($topicName, 'sub', $ruleInfoFive); $ruleInfoSix = new RuleInfo('Six'); $ruleInfoSix->withSqlFilter('x != 5'); $ruleSix = $this->restProxy->createRule($topicName, 'sub', $ruleInfoSix); // Assert $this->assertTrue($ruleOne->getFilter() instanceof \WindowsAzure\ServiceBus\Models\CorrelationFilter, '$ruleOne->getFilter() instanceof CorrelationFilter'); $this->assertTrue($ruleTwo->getFilter() instanceof \WindowsAzure\ServiceBus\Models\TrueFilter, '$ruleTwo->getFilter() instanceof TrueFilter'); $this->assertTrue($ruleThree->getFilter() instanceof \WindowsAzure\ServiceBus\Models\FalseFilter, '$ruleThree->getFilter() instanceof FalseFilter'); $this->assertTrue($ruleFour->getAction() instanceof \WindowsAzure\ServiceBus\Models\EmptyRuleAction, '$ruleFour->getAction() instanceof EmptyRuleAction'); $this->assertTrue($ruleFive->getAction() instanceof \WindowsAzure\ServiceBus\Models\SqlRuleAction, '$ruleFive->getAction() instanceof SqlRuleAction'); $this->assertTrue($ruleSix->getFilter() instanceof \WindowsAzure\ServiceBus\Models\SqlFilter, '$ruleSix->getFilter() instanceof SqlFilter'); }