def test_validate_single_key(self): key = 'movie:tt12345678:imdb' result = Movie.validate_keys(keys=(key,)) self.assertEqual(len(result), 1) self.assertTrue(key in result)
def test_validate_multiple_keys(self): keys = ['movie:tt1234567890:imdb', 'movie:tt1234567891:imdb', 'movie:tt1234567892:imdb', 'movie:tt1234567893:imdb'] result = Movie.validate_keys(keys=keys) self.assertEqual(len(result), len(keys)) self.assertEqual(result, keys)
def test_validate_single_wrong_key(self): keys = ['movie:tt12345678_imdb', 'movie:tt12345678', 'tt1245678', 'person:tt123456:imdb', 'movie:1234567:imdb', 'movie:tt1234567:rutracker'] for key in keys: result = Movie.validate_keys(keys=(key,)) self.assertEqual(len(result), 0) self.assertFalse(key in result)
def test_validate_multiple_keys_with_some_wrong(self): keys = ['movie:tt1234567890:imdb', 'movie:tt1234567891:imdb', 'movie:tt1234567892_imdb', 'movie:1234567893:imdb'] result = Movie.validate_keys(keys=keys) self.assertEqual(len(result), 2) self.assertTrue('movie:tt1234567890:imdb' in result) self.assertTrue('movie:tt1234567891:imdb' in result) self.assertFalse('movie:tt1234567892_imdb' in result) self.assertFalse('movie:1234567893:imdb' in result)
def make_key(cls, user_id, movie_key): valid = Movie.validate_keys(keys=(movie_key, )) if valid: return ':'.join(('watchlist', str(user_id), movie_key)) else: return None