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')); }
/** * 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); }