Example #1
0
 public function testToggleEventsOff()
 {
     MockFeatureRequester::$val = null;
     $client = new LDClient("someKey", array('feature_requester_class' => '\\LaunchDarkly\\Tests\\MockFeatureRequester', 'events' => false));
     $builder = new LDUserBuilder(3);
     $user = $builder->build();
     $client->toggle('foo', $user, 'argdef');
     $proc = getPrivateField($client, '_eventProcessor');
     $queue = getPrivateField($proc, '_queue');
     $this->assertEquals(0, sizeof($queue));
 }
 public function testGetApc()
 {
     $redis = new \Predis\Client(array("scheme" => "tcp", "host" => 'localhost', "port" => 6379));
     $client = new LDClient("BOGUS_API_KEY", array('feature_requester_class' => '\\LaunchDarkly\\ApcLDDFeatureRequester', 'apc_expiration' => 1));
     $builder = new LDUserBuilder(3);
     $user = $builder->build();
     $redis->del("launchdarkly:features");
     $this->assertEquals("jim", $client->toggle('foo', $user, 'jim'));
     $redis->hset("launchdarkly:features", 'foo', $this->gen_feature("foo", "bar"));
     $this->assertEquals("bar", $client->toggle('foo', $user, 'jim'));
     # cached value so not updated
     $redis->hset("launchdarkly:features", 'foo', $this->gen_feature("foo", "baz"));
     $this->assertEquals("bar", $client->toggle('foo', $user, 'jim'));
     apc_delete("launchdarkly:features.foo");
     $this->assertEquals("baz", $client->toggle('foo', $user, 'jim'));
 }
Example #3
0
 /**
  * Get status from featureToggle if key is enable or disable:
  * How to use: app()->featureToggle->isActive("my.key");
  *
  * @param string $featureKey
  * @return bool
  *
  * DEMO: app()->featureToggle->isActive("my.key")
  */
 public function isActive($featureKey)
 {
     // Main switch is off
     if (!$this->isComponentActive()) {
         return $this->defaultReturn;
     }
     if (function_exists('info')) {
         $userId = $this->userInfo->getFTUserKey();
         $output = "[featureKey={$featureKey}] [userId={$userId}]";
         info($output);
     }
     return $this->client->toggle($featureKey, $this->featureToggleUser, $this->defaultReturn);
 }