def test_can_save_prefs(self): user = UserFactory.create(is_superuser=True) key1 = KeyFactory.create(name='some.random.1') key2 = KeyFactory.create(name='some.random.2') UsersViolationsPrefsFactory.create(user=user, key=key1, is_active=True) UsersViolationsPrefsFactory.create(user=user, key=key2, is_active=False) loaded_prefs = UsersViolationsPrefs.get_prefs(self.db, user) expect(loaded_prefs).to_length(2) expect(loaded_prefs).to_be_like({ 'some.random.1': True, 'some.random.2': False }) yield self.authenticated_fetch( '/users/violations-prefs/', user_email=user.email, method='POST', body=dumps([ {'key': 'some.random.1', 'is_active': False}, {'key': 'some.random.2', 'is_active': True}, ]) ) loaded_prefs = UsersViolationsPrefs.get_prefs(self.db, user) expect(loaded_prefs).to_length(2) expect(loaded_prefs).to_be_like({ 'some.random.1': False, 'some.random.2': True })
def test_can_get_prefs(self): user = UserFactory.create() key1 = KeyFactory.create(name='some.random.1') key2 = KeyFactory.create(name='some.random.2') UsersViolationsPrefsFactory.create(user=user, key=key1, is_active=True) UsersViolationsPrefsFactory.create(user=user, key=key2, is_active=False) self.server.application.violation_definitions = { 'some.random.1': { 'title': 'some random 1', 'category': 'SEO', 'generic_description': 'my some random 1' }, 'some.random.2': { 'title': 'some random 2', 'category': 'HTTP', 'generic_description': 'my some random 2' } } response = yield self.authenticated_fetch( '/users/violations-prefs/', user_email=user.email ) expect(response.code).to_equal(200) prefs = loads(response.body) expect(prefs).to_length(2) expect(prefs[0]).to_length(5) expect(prefs[1]).to_length(5) expect(prefs).to_be_like([{ 'category': 'SEO', 'is_active': True, 'name': 'some random 1', 'key': u'some.random.1', 'description': u'my some random 1' }, { 'category': 'HTTP', 'is_active': False, 'name': 'some random 2', 'key': u'some.random.2', 'description': u'my some random 2' }])
def test_can_update_by_user(self): user = UserFactory.create() key = KeyFactory.create(name='some.random') pref = UsersViolationsPrefsFactory.create(user=user, key=key, is_active=True) data = [{ 'key': pref.key.name, 'is_active': False }, { 'key': 'blah', 'is_active': False }] UsersViolationsPrefs.update_by_user(self.db, user, data) prefs = self.db.query(UsersViolationsPrefs).all() expect(prefs).to_length(1) expect(prefs[0].key.name).to_equal(key.name) expect(prefs[0].user).to_equal(user) expect(prefs[0].is_active).to_equal(False)
def test_can_update_by_user_with_no_data(self): user = UserFactory.create() key = KeyFactory.create(name='some.random') UsersViolationsPrefsFactory.create(user=user, key=key, is_active=True) data = [] UsersViolationsPrefs.update_by_user(self.db, user, data) prefs = self.db.query(UsersViolationsPrefs).all() expect(prefs).to_length(1) expect(prefs[0].key.name).to_equal(key.name) expect(prefs[0].user).to_equal(user) expect(prefs[0].is_active).to_equal(True)
def test_users_violations_prefs_str(self): data = UsersViolationsPrefsFactory.create( user=User(email='*****@*****.**', fullname='Sherlock Holmes'), key=Key(name='some.random.fact'), is_active=False) loaded = self.db.query(UsersViolationsPrefs).get(data.id) expect(str(loaded)).to_be_like('[email protected]: some.random.fact')
def test_users_violations_prefs_str(self): data = UsersViolationsPrefsFactory.create( user=User(email='*****@*****.**', fullname='Sherlock Holmes'), key=Key(name='some.random.fact'), is_active=False ) loaded = self.db.query(UsersViolationsPrefs).get(data.id) expect(str(loaded)).to_be_like('[email protected]: some.random.fact')
def test_can_delete_prefs(self): user = UserFactory.create() pref1 = UsersViolationsPrefsFactory.create(user=user) pref2 = UsersViolationsPrefsFactory.create(user=user) prefs = self.db.query(UsersViolationsPrefs).all() expect(prefs).to_length(2) items = [pref1.key.name] UsersViolationsPrefs.delete_prefs(self.db, user, items) prefs = self.db.query(UsersViolationsPrefs).all() expect(prefs).to_length(1) expect(prefs[0].key.name).to_equal(pref2.key.name) expect(prefs[0].user).to_equal(pref2.user) expect(prefs[0].is_active).to_equal(True)
def test_can_convert_to_dict(self): data = UsersViolationsPrefsFactory.create( user=User(email='*****@*****.**', fullname='Sherlock Holmes'), key=Key(name='some.random.fact'), is_active=False) expect(data.to_dict()).to_be_like({ 'user': '******', 'key': 'some.random.fact', 'is_active': False })
def test_can_create_users_violations_prefs(self): data = UsersViolationsPrefsFactory.create( user=User(email='*****@*****.**', fullname='Sherlock Holmes'), key=Key(name='some.random.fact'), is_active=False) loaded = self.db.query(UsersViolationsPrefs).get(data.id) expect(loaded.user.email).to_equal('*****@*****.**') expect(loaded.key.name).to_equal('some.random.fact') expect(loaded.is_active).to_equal(False)
def test_can_convert_to_dict(self): data = UsersViolationsPrefsFactory.create( user=User(email='*****@*****.**', fullname='Sherlock Holmes'), key=Key(name='some.random.fact'), is_active=False ) expect(data.to_dict()).to_be_like({ 'user': '******', 'key': 'some.random.fact', 'is_active': False })
def test_can_create_users_violations_prefs(self): data = UsersViolationsPrefsFactory.create( user=User(email='*****@*****.**', fullname='Sherlock Holmes'), key=Key(name='some.random.fact'), is_active=False ) loaded = self.db.query(UsersViolationsPrefs).get(data.id) expect(loaded.user.email).to_equal('*****@*****.**') expect(loaded.key.name).to_equal('some.random.fact') expect(loaded.is_active).to_equal(False)
def test_can_update_by_user(self): user = UserFactory.create() key = KeyFactory.create(name='some.random') pref = UsersViolationsPrefsFactory.create(user=user, key=key, is_active=True) data = [ {'key': pref.key.name, 'is_active': False}, {'key': 'blah', 'is_active': False} ] UsersViolationsPrefs.update_by_user(self.db, user, data) prefs = self.db.query(UsersViolationsPrefs).all() expect(prefs).to_length(1) expect(prefs[0].key.name).to_equal(key.name) expect(prefs[0].user).to_equal(user) expect(prefs[0].is_active).to_equal(False)