def test_client_raise_attribute_error(self): client_1 = Client(RedisBroker(self._redis, self._some_config), True, ImpressionListenerClientEmpty()) with self.assertRaises(AttributeError): client_1._impression_listener.log_impression( self.some_impression_0)
def setUp(self): self._some_config = mock.MagicMock() self._split_changes_file_name = join( dirname(__file__), 'splitCustomImpressionListener.json') with open(self._split_changes_file_name) as f: self._json = load(f) split_definition = self._json['splits'][0] split_name = split_definition['name'] self._redis = get_redis( {'redisPrefix': 'customImpressionListenerTest'}) self._redis_split_cache = RedisSplitCache(self._redis) self._redis_split_cache.add_split(split_name, split_definition) self._client = Client(RedisBroker(self._redis, self._some_config)) self.some_feature = 'feature_0' self.some_impression_0 = Impression(matching_key=mock.MagicMock(), feature_name=self.some_feature, treatment=mock.MagicMock(), label=mock.MagicMock(), change_number=mock.MagicMock(), bucketing_key=mock.MagicMock(), time=mock.MagicMock())
def setUp(self): self._some_config = mock.MagicMock() self._split_changes_file_name = join(dirname(__file__), 'splitGetTreatments.json') with open(self._split_changes_file_name) as f: self._json = load(f) split_definition = self._json['splits'][0] split_name = split_definition['name'] self._redis = get_redis({'redisPrefix': 'getTreatmentsTest'}) self._redis_split_cache = RedisSplitCache(self._redis) self._redis_split_cache.add_split(split_name, split_definition) self._client = Client(RedisBroker(self._redis, self._some_config)) self._config = { 'ready': 180000, 'redisDb': 0, 'redisHost': 'localhost', 'redisPosrt': 6379, 'redisPrefix': 'getTreatmentsTest' } self._factory = get_factory('asdqwe123456', config=self._config) self._split = self._factory.client()
def setUp(self): self.some_config = mock.MagicMock() self.some_api_key = mock.MagicMock() self.redis = get_redis({'redisPrefix': 'test'}) self.client = Client(RedisBroker(self.redis, self.some_config)) input_validator._LOGGER.error = mock.MagicMock() self.logger_error = input_validator._LOGGER.error input_validator._LOGGER.warning = mock.MagicMock() self.logger_warning = input_validator._LOGGER.warning
def setUp(self): self.some_config = mock.MagicMock() self.some_api_key = mock.MagicMock() self.redis = get_redis({'redisPrefix': 'test'}) self.client = Client(RedisBroker(self.redis, self.some_config)) self.client._broker.fetch_feature = mock.MagicMock( return_value=Split("some_feature", 0, False, "default_treatment", "user", "ACTIVE", 123)) self.client._build_impression = mock.MagicMock() input_validator._LOGGER.error = mock.MagicMock() self.logger_error = input_validator._LOGGER.error input_validator._LOGGER.warning = mock.MagicMock() self.logger_warning = input_validator._LOGGER.warning
def setUp(self): self._some_config = mock.MagicMock() self._split_changes_file_name = join(dirname(__file__), 'splitChangesReadOnly.json') with open(self._split_changes_file_name) as f: self._json = load(f) split_definition = self._json['splits'][0] split_name = split_definition['name'] self._redis = get_redis({'redisPrefix': 'test'}) self._mocked_redis = ReadOnlyRedisMock(self._redis) self._redis_split_cache = RedisSplitCache(self._redis) self._redis_split_cache.add_split(split_name, split_definition) self._client = Client(RedisBroker(self._mocked_redis, self._some_config)) self._impression = mock.MagicMock() self._start = mock.MagicMock() self._operation = mock.MagicMock()
def setUp(self): ''' ''' redis = get_redis({}) segment_cache = RedisSegmentCache(redis) split_parser = RedisSplitParser(segment_cache) self._client = Client(RedisBroker(redis)) self._splitObjects = {} raw_split = { 'name': 'test1', 'algo': 1, 'killed': False, 'status': 'ACTIVE', 'defaultTreatment': 'default', 'seed': -1222652054, 'orgId': None, 'environment': None, 'trafficTypeId': None, 'trafficTypeName': None, 'changeNumber': 1, 'conditions': [{ 'conditionType': 'WHITELIST', 'matcherGroup': { 'combiner': 'AND', 'matchers': [{ 'matcherType': 'ALL_KEYS', 'negate': False, 'userDefinedSegmentMatcherData': None, 'whitelistMatcherData': None }] }, 'partitions': [{ 'treatment': 'on', 'size': 100 }], 'label': 'in segment all' }] } self._splitObjects['whitelist'] = split_parser.parse(raw_split, True) raw_split['name'] = 'test2' raw_split['conditions'][0]['conditionType'] = 'ROLLOUT' self._splitObjects['rollout1'] = split_parser.parse(raw_split, True) raw_split['name'] = 'test3' raw_split['trafficAllocation'] = 1 raw_split['trafficAllocationSeed'] = -1 self._splitObjects['rollout2'] = split_parser.parse(raw_split, True) raw_split['name'] = 'test4' raw_split['trafficAllocation'] = None #must be mapped as 100 raw_split['trafficAllocationSeed'] = -1 self._splitObjects['rollout3'] = split_parser.parse(raw_split, True)