def main(send=False): key = get_value('key') html = None # get movie info for all categories for cat in CATEGORIES: td = Tmdb(key, cat) movies = td.get_movies(NUM_RES) ca = Cache(os.path.basename(cat)) ca.shelve_results(movies) newMovies = ca.shelve_results(movies) movieObjects = ca.shelve_get_items(newMovies) # only new ones op = Output(movieObjects) if html is None: html = [op.generate_header()] catPrettified = cat.title().replace("_", " ") html.append(op.generate_category_title(catPrettified)) html.append(op.generate_movie_html_div()) # save html f = open(OUTFILE, "w") f.write("\n".join(html)) f.close() # email if send: subject = "Sharemovi.es / %s movies / week %s" % ( ", ".join(CATEGORIES), str(THIS_WEEK)) sender = get_value('sender') recipients = load_emails('recipients') ma = Mail(sender) ma.mail_html(recipients, subject, "\n".join(html))
def main(send=False): key = get_value('key') html = None # get movie info for all categories for cat in CATEGORIES: td = Tmdb(key, cat) movies = td.get_movies(NUM_RES) ca = Cache(os.path.basename(cat)) ca.shelve_results(movies) newMovies = ca.shelve_results(movies) movieObjects = ca.shelve_get_items(newMovies) # only new ones op = Output(movieObjects) if html is None: html = [op.generate_header()] catPrettified = cat.title().replace("_", " ") html.append(op.generate_category_title(catPrettified)) html.append(op.generate_movie_html_div()) # save html f = open(OUTFILE, "w") f.write("\n".join(html)) f.close() # email if send: subject = "Sharemovi.es / %s movies / week %s" % (", ".join(CATEGORIES), str(THIS_WEEK)) sender = get_value('sender') recipients = load_emails('recipients') ma = Mail(sender) ma.mail_html(recipients, subject, "\n".join(html))
def test_redis_call_set(mocker): class Redis: def get(self, key="teste"): if key == "julio": return "ops" if key == "patrick": return "dev" mocker.patch("main.StrictRedis", return_value=Redis()) assert main.get_value("julio") == "ops" assert main.get_value("patrick") == "dev"
def test_value(self): result = main.get_value( {"params": [{ "id": -100, "title": "testcaseId", "value": 298 }]}) self.assertEqual(result, None)
def test_default_values(self): """test empty default user_input""" result = main.set_value() assert result == [] result = main.get_value() assert result == None result = main.delete_value() assert result == False
def test_value_operations(self): """test set_value function for different cases""" # Case 1 - set value through set_value and check it is in # memcached and DB input = ['set', 'testkey1', 'testvalue1'] result = main.set_value(input, self.client, self.mock_database) memcahed_expected = self.client.get('testkey1') assert result[1] == memcahed_expected.decode('utf-8') db_expected = self.db_conn['testkey1'] assert result[1] == db_expected result = main.get_value(['get', 'testkey1'], self.client, self.mock_database) assert result == memcahed_expected.decode('utf-8') # Case 2a - Get a value that is only in the DB user_input = ['get', 'testkey2'] self.db_conn[user_input[1]] = 'testvalue2' response = self.client.get(user_input[1]) assert response == None result = main.get_value(user_input, self.client, self.mock_database) # assert result.decode('utf-8') == 'testvalue2' LOG.info('TEST') LOG.info(result) # Case 2b - Get a value that does not exist at all user_input[1] = 'does_not_exist' result = main.get_value(user_input, self.client, self.mock_database) assert result == None # Case 3 - Delete a value user_input[0] = 'delete' user_input[1] = 'testkey2' result = main.delete_value(user_input, self.client, self.mock_database) assert result == True # Let's try to delete again result = main.delete_value(user_input, self.client, self.mock_database) assert result == False
def test_redis_call_get(mocker): mocker.patch("main.StrictRedis") main.get_value() main.StrictRedis().get.assert_called() main.StrictRedis().get.assert_called_with("teste") assert main.StrictRedis().get.call_count == 2