-
Notifications
You must be signed in to change notification settings - Fork 2
/
tests_flask_arango.py
88 lines (64 loc) · 2.68 KB
/
tests_flask_arango.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import unittest
from flask import Flask
from pyArango.graph import Graph, EdgeDefinition
from pyArango.collection import Collection, Edges
from flask_arango import Arango
class FlaskRequestTests(unittest.TestCase):
def setUp(self):
self.app = Flask('test')
self.context = self.app.test_request_context('/')
self.context.push()
def tearDown(self):
self.context.pop()
class FlaskArangoConfigTests(FlaskRequestTests):
def setUp(self):
super(FlaskArangoConfigTests, self).setUp()
self.app.config['ARANGO_URL'] = 'http://localhost:8529'
self.app.config['ARANGO_DB'] = 'flask_arango_test'
self.app.config['ARANGO_GRAPH'] = 'GraphTest'
def test_direct_initialization(self):
arango = Arango(self.app)
self.assertIsNotNone(arango.connection)
def test_init_app(self):
arango = Arango()
arango.init_app(self.app)
self.assertIsNotNone(arango.connection)
class FlaskArangoDatabaseTests(FlaskRequestTests):
def setUp(self):
super(FlaskArangoDatabaseTests, self).setUp()
self.app.config['ARANGO_URL'] = 'http://localhost:8529'
self.app.config['ARANGO_DB'] = 'flask_arango_test'
self.app.config['ARANGO_GRAPH'] = 'GraphTest'
self.arango = Arango()
self.arango.init_app(self.app)
if not self.arango.connection.hasDatabase('flask_arango_test'):
self.arango.connection.createDatabase('flask_arango_test')
def test_database_access(self):
self.assertIsNotNone(self.arango.db)
class FlaskArangoGraphTests(FlaskRequestTests):
def setUp(self):
# pylint: disable=no-init,too-few-public-methods,unused-variable
super(FlaskArangoGraphTests, self).setUp()
self.app.config['ARANGO_URL'] = 'http://localhost:8529'
self.app.config['ARANGO_DB'] = 'flask_arango_test'
self.app.config['ARANGO_GRAPH'] = 'GraphTest'
self.arango = Arango()
self.arango.init_app(self.app)
if not self.arango.connection.hasDatabase('flask_arango_test'):
self.arango.connection.createDatabase('flask_arango_test')
class EdgeTest(Edges):
pass
class FromTest(Collection):
pass
class ToTest(Collection):
pass
class GraphTest(Graph):
_edgeDefinitions = (EdgeDefinition(
'EdgeTest',
fromCollections=['FromTest'],
toCollections=['ToTest']),)
_orphanedCollections = ()
if not self.arango.db.hasGraph('GraphTest'):
self.arango.db.createGraph('GraphTest')
def test_database_access(self):
self.assertIsNotNone(self.arango.gdb)