def test_to_json(self): dt = datetime.now() id_ = uuid.uuid4() page_id = uuid.uuid4() article = Article("Test", "lk", dt, page_id, None,id_) test = article.to_json() self.equal = self.assertEqual(article.to_json(), {'title': 'Test', 'summary': 'lk', 'date': dt, 'page_id': page_id, 'publication': None, '_id': id_})
def remove_from_db(self): if self._feed: news = [article for article in Database.find("articles", {"page_id" : uuid.UUID('{00000000-0000-0000-0000-000000000000}')})] for article in news: article = Article.get_by_id(article['_id']) article.remove_from_db() Database.remove(self.COLLECTION, {'_id': self._id})
def article_get(article_id): try: old_article = Article.get_by_id(article_id) return render_template('items/article.html', article=old_article.to_json()) except NoSuchArticleExistException: abort(404)
def article_delete(article_id): try: old_article = Article.get_by_id(article_id) old_article.remove_from_db() return jsonify({"message": "Done"}), 200 except NoSuchArticleExistException: abort(404)
def test_save_to_db(self): article = Article("Test", "lk", datetime.now(), uuid.uuid4()) article.save_to_db() try: test_result = Article.get_by_id(article.get_id()) except NoSuchArticleExistException: self.fail() article.remove_from_db() self.assertEqual(test_result, article, "Saved and retrieved article is not the same")
def article_add_get(page_id): try: return render_template('items/article_edit.html', article=Article("", "", datetime.now(), page_id).to_json(), action_type="Add") except NoSuchArticleExistException: abort(404)
def article_add_post(): try: article_date = datetime.strptime(request.form.get('date'), '%m/%d/%Y %I:%M %p') new_article = None if request.form.get('publication') is "": new_article = Article(request.form.get('title'), request.form.get('summary'), article_date, uuid.UUID(request.form.get('page_id')), ) else: new_article = Article(request.form.get('title'), request.form.get('summary'), article_date, uuid.UUID(request.form.get('page_id')), request.form.get('publication')) if not new_article.is_valid_model(): abort(500) new_article.save_to_db() return jsonify({"message": "Done"}), 200 except ValueError: abort(500)
def test_remove_from_db(self): article = Article("Test", "lk", datetime.now(), uuid.uuid4()) article.save_to_db() try: article.remove_from_db() except NoSuchArticleExistException: self.fail("Error occurred when tried to delete existing article")
def article_edit_put(): try: article_date = datetime.strptime(request.form.get('date'), '%m/%d/%Y %I:%M %p') if request.form.get('publication') is "": new_article = Article(request.form.get('title'), request.form.get('summary'), article_date, uuid.UUID(request.form.get('page_id')), None, uuid.UUID(request.form.get('id'))) else: new_article = Article(request.form.get('title'), request.form.get('summary'), article_date, uuid.UUID(request.form.get('page_id')), request.form.get('publication'), uuid.UUID(request.form.get('id'))) if not new_article.is_valid_model(): abort(500) new_article.sync_to_db() return jsonify({"message": "Done"}), 200 except ValueError: abort(500)
def test_sync_to_db(self): article = Article("Test", "lk", datetime.now(), uuid.uuid4()) article.save_to_db() article.set_title("TestUpdated") article.sync_to_db() try: test_result = Article.get_by_id(article.get_id()) except NoSuchArticleExistException: self.fail() article.remove_from_db() self.assertEqual(test_result, article, "Sync event with database failed")
def test_is_not_valid_model(self): article = Article(12, 12, "hello", "sd", uuid.uuid4()) self.assertFalse(article.is_valid_model(),"Invalid model is valid")
def test_is_valid_model(self): article = Article("Test", "lk", datetime.now(), uuid.uuid4(), None, uuid.uuid4()) self.assertTrue(article.is_valid_model(),"Valid model is invalid")
def test_is_synced(self): article = Article("Test", "lk", datetime.now(), uuid.uuid4()) article.save_to_db() article.set_title("TestUpdated") article.sync_to_db() self.assertTrue(article.is_synced(), "article marked un-synced when it is") article.remove_from_db()
def test_not_synced(self): article = Article("Test", "lk", datetime.now(), uuid.uuid4()) article.save_to_db() article.set_title("TestUpdated") self.assertFalse(article.is_synced(),"article marked synced when it is not") article.remove_from_db()
def test_remove_non_existing_event_from_db(self): article = Article("Test", "lk", None, datetime.now(), uuid.uuid4(), uuid.uuid4()) self.assertRaises(NoSuchArticleExistException,article.remove_from_db())
def test_factory_form_json(self): article = Article("Test", "lk", datetime.now(), uuid.uuid4() ) dfsdf = article.to_json() dsds = Article.factory_form_json(dfsdf) self.assertEqual(article, Article.factory_form_json(article.to_json()), "Creating article object from json failed")