Example #1
0
 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_})
Example #2
0
 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})
Example #3
0
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)
Example #4
0
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)
Example #5
0
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)
Example #6
0
 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")
Example #7
0
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)
Example #8
0
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)
Example #9
0
 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")
Example #10
0
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)
Example #11
0
 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")
Example #12
0
 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")
Example #13
0
 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")
Example #14
0
 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()
Example #15
0
 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()
Example #16
0
 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())
Example #17
0
 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")
Example #18
0
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)