summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xfatcat/backend.py (renamed from backend/backend.py)0
-rw-r--r--fatcat/static/robots.txt (renamed from webface/static/robots.txt)0
-rw-r--r--fatcat/templates/base.html (renamed from webface/templates/base.html)0
-rw-r--r--fatcat/templates/home.html (renamed from webface/templates/home.html)0
-rw-r--r--fatcat/templates/work_add.html (renamed from webface/templates/work_add.html)0
-rw-r--r--fatcat/templates/work_view.html (renamed from webface/templates/work_view.html)0
-rw-r--r--fatcat/test_backend.py53
-rwxr-xr-xfatcat/webface.py (renamed from webface/webface.py)0
8 files changed, 53 insertions, 0 deletions
diff --git a/backend/backend.py b/fatcat/backend.py
index a39ae790..a39ae790 100755
--- a/backend/backend.py
+++ b/fatcat/backend.py
diff --git a/webface/static/robots.txt b/fatcat/static/robots.txt
index a168f11b..a168f11b 100644
--- a/webface/static/robots.txt
+++ b/fatcat/static/robots.txt
diff --git a/webface/templates/base.html b/fatcat/templates/base.html
index 4e9dcd4b..4e9dcd4b 100644
--- a/webface/templates/base.html
+++ b/fatcat/templates/base.html
diff --git a/webface/templates/home.html b/fatcat/templates/home.html
index d9cc34a2..d9cc34a2 100644
--- a/webface/templates/home.html
+++ b/fatcat/templates/home.html
diff --git a/webface/templates/work_add.html b/fatcat/templates/work_add.html
index ac8a8169..ac8a8169 100644
--- a/webface/templates/work_add.html
+++ b/fatcat/templates/work_add.html
diff --git a/webface/templates/work_view.html b/fatcat/templates/work_view.html
index 8c5e955d..8c5e955d 100644
--- a/webface/templates/work_view.html
+++ b/fatcat/templates/work_view.html
diff --git a/fatcat/test_backend.py b/fatcat/test_backend.py
new file mode 100644
index 00000000..429b5ae7
--- /dev/null
+++ b/fatcat/test_backend.py
@@ -0,0 +1,53 @@
+
+import os
+import json
+import backend
+import unittest
+import tempfile
+from nose.tools import *
+
+# TODO: replace all these "assert" with unit test version (which displays left
+# and right on failure)
+
+# TODO: http://alextechrants.blogspot.com/2013/08/unit-testing-sqlalchemy-apps.html
+
+## Helpers ##################################################################
+
+def check_entity_fields(e):
+ for key in ('id', 'rev', 'previous', 'state', 'redirect_id', 'edit_id',
+ 'extra_json'):
+ assert_in(key, e)
+ for key in ('id', 'rev'):
+ assert_is_not_none(e[key])
+
+## API Tests ################################################################
+
+class BackendTestCase(unittest.TestCase):
+
+ def setUp(self):
+ backend.app.config['DATABASE_URI'] = 'sqlite://:memory:'
+ backend.app.testing = True
+ self.app = backend.app.test_client()
+
+ def test_health(self):
+ rv = self.app.get('/health')
+ obj = json.loads(rv.data.decode('utf-8'))
+ assert obj['ok']
+
+ def test_works(self):
+
+ # Invalid Id
+ rv = self.app.get('/v0/work/_')
+ assert rv.status_code == 404
+
+ # Missing Id (TODO)
+ #rv = self.app.get('/v0/work/rzga5b9cd7efgh04iljk')
+ #assert rv.status is 404
+
+ # Valid Id
+ rv = self.app.get('/v0/work/r3zga5b9cd7ef8gh084714iljk')
+ assert rv.status_code == 200
+ obj = json.loads(rv.data.decode('utf-8'))
+ check_entity_fields(obj)
+ assert obj['title']
+ assert_equal(obj['work_type'], "journal-article")
diff --git a/webface/webface.py b/fatcat/webface.py
index 33833e25..33833e25 100755
--- a/webface/webface.py
+++ b/fatcat/webface.py