class TestMemoryStorage(unittest.TestCase): def setUp(self): self.user_storage = MemoryUserStorage() # noinspection PyDefaultArgument def _add_user(self, user_id=[1], groups=None): user_id[0] += 1 new_user = { 'id': user_id[0], 'name': 'TestUser {ID}'.format(ID=user_id[0]) } if groups is not None: new_user['groups'] = groups return self.user_storage.add_user(new_user) def test_add_user(self): users = [self._add_user() for _ in xrange(5)] print self.user_storage.user_data for u in users: self.assertEqual(u, self.user_storage.user_data[u['id']]) def test_user_in_group(self): user = self._add_user(groups=['foo']) self.assertTrue(self.user_storage.is_in_group(user, 'foo'))
def setUp(self): self.user_storage = MemoryUserStorage()
def test_specify_storage(self): rollout = Rollout(feature_storage=MemoryFeatureStorage(), user_storage=MemoryUserStorage()) rollout.add_feature(Feature('feature_for_all', groups=['ALL'])) user = self._add_user() self.assertTrue(self.rollout.can(user, 'feature_for_all') is True)