Added unit tests for GeoffreyDatabase
parent
52b9da67c5
commit
c9f5749611
|
@ -36,6 +36,7 @@ class GeoffreyDatabase:
|
||||||
def combine_filter(self, filter_value):
|
def combine_filter(self, filter_value):
|
||||||
return sqlalchemy.sql.expression.and_(filter_value[0])
|
return sqlalchemy.sql.expression.and_(filter_value[0])
|
||||||
|
|
||||||
|
|
||||||
class TunnelDirection(enum.Enum):
|
class TunnelDirection(enum.Enum):
|
||||||
North = 'green'
|
North = 'green'
|
||||||
East = 'blue'
|
East = 'blue'
|
||||||
|
|
|
@ -115,6 +115,7 @@ async def deletebase(ctx, name: str):
|
||||||
except DeleteEntryError:
|
except DeleteEntryError:
|
||||||
await bot.say('{}, you do not have a base named "{}".'.format(ctx.message.author.mention, name))
|
await bot.say('{}, you do not have a base named "{}".'.format(ctx.message.author.mention, name))
|
||||||
|
|
||||||
|
|
||||||
@bot.command(pass_context=True)
|
@bot.command(pass_context=True)
|
||||||
async def findbasearound(ctx, x_pos: int, z_pos: int, * args):
|
async def findbasearound(ctx, x_pos: int, z_pos: int, * args):
|
||||||
'''
|
'''
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
from unittest import TestCase
|
||||||
|
from DatabaseModels import GeoffreyDatabase
|
||||||
|
from DatabaseModels import Location
|
||||||
|
from BotErrors import *
|
||||||
|
|
||||||
|
|
||||||
|
class TestGeoffreyDatabase(TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.database = GeoffreyDatabase('sqlite:///:memory:')
|
||||||
|
self.loc = Location('test', 1, 2, 3, 'owner', ['Green', 0])
|
||||||
|
|
||||||
|
def test_add_object(self):
|
||||||
|
self.database.add_object(self.loc)
|
||||||
|
|
||||||
|
loc2 = self.database.query_by_filter(Location, Location.owner == 'owner')[0]
|
||||||
|
|
||||||
|
self.assertEqual(self.loc.id, loc2.id)
|
||||||
|
|
||||||
|
def test_query_by_filter(self):
|
||||||
|
expr = (Location.owner == 'owner') & (Location.x == 0)
|
||||||
|
loc2 = self.database.query_by_filter(Location, expr)
|
||||||
|
self.assertEqual(len(loc2), 0)
|
||||||
|
|
||||||
|
def test_delete_entry(self):
|
||||||
|
self.database.add_object(self.loc)
|
||||||
|
expr = (Location.owner == 'owner') & (Location.name == 'test')
|
||||||
|
self.database.delete_entry(Location, expr)
|
||||||
|
|
||||||
|
expr = (Location.owner == 'owner') & (Location.x == 0)
|
||||||
|
loc2 = self.database.query_by_filter(Location, expr)
|
||||||
|
|
||||||
|
self.assertEqual(len(loc2), 0)
|
||||||
|
|
||||||
|
self.assertRaises(DeleteEntryError, self.database.delete_entry, Location, expr)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue