Esempio n. 1
0
	def test_unlock_success(self):
		password = Password(raw='test_password', hasher=Sha256Hasher)
		profile = Profile(name='test_name', password=password)

		repo = ProfileRepository(config())
		saved = repo.create(profile)
		self.assertTrue(saved)

		payload = {'name': profile.name}
		token = Token(salt='test_salt', payload=payload, builder=JWTToken)
		session = Session(token=token, locked=False, profile_id=saved.id)

		repo_sec = SecurityRepository(config())
		session_id = repo_sec.register(session)
		session = repo_sec.get(session_id)

		self.assertIsInstance(session, Session)
		self.assertEqual(session.token, token.build().decode())
		self.assertEqual(session.profile_id, str(saved.id))
		self.assertFalse(session.locked)

		repo_sec.lock(id=session_id)
		session = repo_sec.get(session_id)
		self.assertTrue(session.locked)
		
		repo_sec.unlock(id=session_id)
		session = repo_sec.get(session_id)
		self.assertFalse(session.locked)
Esempio n. 2
0
    def test_get_list(self):
        password = Password(raw='test_password', hasher=Sha256Hasher)
        profile = Profile(name='test_name', password=password)

        password2 = Password(raw='test_password', hasher=Sha256Hasher)
        profile2 = Profile(name='test_name', password=password)

        repo = ProfileRepository(config())
        repo.create(profile)
        repo.create(profile2)

        docs = repo.get_list({'filter': {'name': 'test_name'}})

        self.assertIsInstance(docs, list)
        self.assertEqual(2, len(docs))

        doc1 = docs[0]
        self.assertEqual(doc1.name, profile.name)
Esempio n. 3
0
    def test_register_name_exist(self):
        password = Password(raw='test_password', hasher=Sha256Hasher)
        profile = Profile(name='test_name', password=password)

        repo = ProfileRepository(config())
        saved = repo.create(profile)

        adapter = RegisterAdapter(repo)
        with self.assertRaises(ValidationError):
            adapter.register(saved.name, 'test_pass')
Esempio n. 4
0
    def test_remove_success(self):
        password = Password(raw='test_password', hasher=Sha256Hasher)
        profile = Profile(name='test_name', password=password)

        repo = ProfileRepository(config())
        self.assertTrue(repo.create(profile))
        self.assertTrue(repo.remove(profile.name))

        doc = repo.get_detail(profile.name)
        self.assertIsNone(doc)
Esempio n. 5
0
    def test_get_by_name(self):
        password = Password(raw='test_password', hasher=Sha256Hasher)
        profile = Profile(name='test_name', password=password)

        repo = ProfileRepository(config())
        self.assertTrue(repo.create(profile))

        doc = repo.get_detail(profile.name)
        self.assertIsNotNone(doc)
        self.assertEqual(doc.name, profile.name)
Esempio n. 6
0
    def test_create_success(self):
        password = Password(raw='test_password', hasher=Sha256Hasher)
        profile = Profile(name='test_name', password=password)

        repo = ProfileRepository(config())
        saved = repo.create(profile)
        self.assertTrue(saved)
        self.assertEqual(saved.name, profile.name)
        self.assertEqual(saved.password, profile.password.to_hash())
        self.assertIsNotNone(saved.id)
Esempio n. 7
0
	def test_remove_success(self):
		password = Password(raw='test_password', hasher=Sha256Hasher)
		profile = Profile(name='test_name', password=password)

		repo = ProfileRepository(config())
		saved = repo.create(profile)
		self.assertTrue(saved)

		payload = {'name': profile.name}
		token = Token(salt='test_salt', payload=payload, builder=JWTToken)
		session = Session(token=token, locked=False, profile_id=saved.id)

		repo_sec = SecurityRepository(config())
		session_id = repo_sec.register(session)
		self.assertIsInstance(session_id, str)
		self.assertTrue(repo_sec.remove(session_id))
		self.assertFalse(repo_sec.is_exist())
Esempio n. 8
0
 def test_create_invalid_profile(self):
     with self.assertRaises(VarTypeError):
         repo = ProfileRepository(config())
         repo.create('testing')