示例#1
0
class TestSeason(unittest.TestCase):
    def setUp(self):
        os.system("rm -rf ./test_content/*")
        self.account_dao = AccountDao(Path("./test_content"))
        trilogy = self.account_dao.load({
            'identifier': 1,
            'name': 'Trilogy Partners',
            'email': '*****@*****.**'
        })
        self.vessel_dao = VesselDao(Path("./test_content"), trilogy.identifier)
        self.season_dao = SeasonDao(Path("./test_content"))
        self.account_dao.create(trilogy)
        trilogy = self.vessel_dao.load({
            'account_id': 1,
            'identifier': 'trilogy',
            'name': 'SV Trilogy',
            'flag': 'Australian',
            'rego': '806176',
            'speed_kts': 7.6,
        })
        self.vessel_dao.create(trilogy)
        x = self.vessel_dao.retrieve('trilogy')

    def test_create(self):
        season = self.season_dao.load({
            'account_id': 1,
            'identifier': 'med_summer_2019',
            'name': 'Mediterranean 2019'
        })
        self.season_dao.create(season)
        x = self.season_dao.retrieve(1, 'med_summer_2019')
        self.assertEqual(type(x.identifier), type(season.identifier))
        self.assertEqual(x.identifier, season.identifier)
        self.assertEqual(x.name, season.name)
示例#2
0
 def setUp(self):
     os.system("rm -rf ./test_content/*")
     self.account_dao = AccountDao(Path("./test_content"))
     trilogy = self.account_dao.load({
         'identifier': 1,
         'name': 'Trilogy Partners',
         'email': '*****@*****.**'
     })
     self.vessel_dao = VesselDao(Path("./test_content"), trilogy.identifier)
     self.account_dao.create(trilogy)
示例#3
0
 def setUp(self):
     os.system("rm -rf ./test_content/*")
     self.account_dao = AccountDao(Path("./test_content"))
     trilogy = self.account_dao.load({
         'identifier': 1,
         'name': 'Trilogy Partners',
         'email': '*****@*****.**'
     })
     self.vessel_dao = VesselDao(Path("./test_content"), trilogy.identifier)
     self.season_dao = SeasonDao(Path("./test_content"))
     self.account_dao.create(trilogy)
     trilogy = self.vessel_dao.load({
         'account_id': 1,
         'identifier': 'trilogy',
         'name': 'SV Trilogy',
         'flag': 'Australian',
         'rego': '806176',
         'speed_kts': 7.6,
     })
     self.vessel_dao.create(trilogy)
     x = self.vessel_dao.retrieve('trilogy')
示例#4
0
class TestVessel(unittest.TestCase):
    def setUp(self):
        os.system("rm -rf ./test_content/*")
        self.account_dao = AccountDao(Path("./test_content"))
        trilogy = self.account_dao.load({
            'identifier': 1,
            'name': 'Trilogy Partners',
            'email': '*****@*****.**'
        })
        self.vessel_dao = VesselDao(Path("./test_content"), trilogy.identifier)
        self.account_dao.create(trilogy)

    def test_create(self):
        # Note -- don't use the Account constructor directly. Use the AccountDao instead
        trilogy = self.vessel_dao.load({
            'account_id': 1,
            'identifier': 'trilogy',
            'name': 'SV Trilogy',
            'flag': 'Australian',
            'rego': '806176',
            'speed_kts': 7.6,
        })
        self.vessel_dao.create(trilogy)
        x = self.vessel_dao.retrieve('trilogy')
        self.assertEqual(type(x.identifier), type(trilogy.identifier))
        self.assertEqual(x.identifier, trilogy.identifier)
        self.assertEqual(x.name, trilogy.name)
        self.assertEqual(x.flag, trilogy.flag)
        self.assertEqual(x.rego, trilogy.rego)
        self.assertEqual(x.speed_kts, trilogy.speed_kts)

    def test_find_all(self):
        trilogy = self.vessel_dao.load({
            'account_id': 1,
            'identifier': 'trilogy',
            'name': 'SV Trilogy',
            'flag': 'Australian',
            'rego': '806176',
            'speed_kts': 7.6,
        })
        self.vessel_dao.create(trilogy)
        namadgi = self.vessel_dao.load({
            'account_id': 1,
            'identifier': 'namadgi',
            'name': 'Namadgi 3',
            'flag': 'Australian',
            'rego': '1234',
            'speed_kts': 7.0,
        })
        self.vessel_dao.create(namadgi)
        r = self.vessel_dao.find_all()
        self.assertEqual(len(r), 2)
示例#5
0
class TestPlan(unittest.TestCase):
    def setUp(self):
        os.system("rm -rf ./test_content/*")
        self.account_dao = AccountDao(Path("./test_content"))
        account = self.account_dao.load({
            'identifier': 1,
            'name': 'Trilogy Partners',
            'email': '*****@*****.**'
        })
        self.account_dao.create(account)
        self.vessel_dao = VesselDao(Path("./test_content"), account.identifier)
        trilogy = self.vessel_dao.load({
            'account_id': 1,
            'identifier': 'trilogy',
            'name': 'SV Trilogy',
            'flag': 'Australian',
            'rego': '806176',
            'speed_kts': 7.6,
        })
        self.vessel_dao.create(trilogy)
        x = self.vessel_dao.retrieve('trilogy')
        self.plan_dao = PlanDao(Path("./test_content"), account.identifier)

    def test_create(self):
        # Note -- don't use the Account constructor directly. Use the AccountDao instead
        plan = self.plan_dao.load({
            'account_id':
            1,
            'vessel_id':
            'trilogy',
            'season_id':
            'med_summer_2019',
            'plan_id':
            self.plan_dao.get_random_id(),
            'cdl':
            "This is cruise description language\nit breaks over multiple lines"
        })
        self.plan_dao.create(plan)
        x = self.plan_dao.retrieve(plan.plan_id)
        self.assertEqual(type(x.plan_id), type(plan.plan_id))
        self.assertEqual(x.plan_id, plan.plan_id)
        self.assertEqual(x.account_id, plan.account_id)
        self.assertEqual(x.vessel_id, plan.vessel_id)
        self.assertEqual(x.season_id, plan.season_id)
        self.assertEqual(x.cdl, plan.cdl)

    def test_create_with_cdl(self):
        with open("../grammar/plan_B.cdl", 'r') as infile:
            cdl = infile.read()
        plan = self.plan_dao.load({
            'account_id': 1,
            'vessel_id': 'trilogy',
            'season_id': 'med_summer_2019',
            'plan_id': self.plan_dao.get_random_id(),
            'cdl': cdl
        })
        self.plan_dao.create(plan)
        x = self.plan_dao.retrieve(plan.plan_id)
        self.assertEqual(type(x.plan_id), type(plan.plan_id))
        self.assertEqual(x.plan_id, plan.plan_id)
        self.assertEqual(x.account_id, plan.account_id)
        self.assertEqual(x.vessel_id, plan.vessel_id)
        self.assertEqual(x.season_id, plan.season_id)
        self.assertEqual(x.cdl, plan.cdl)
示例#6
0
def vessel_add(account_id):
    dao = VesselDao(content, account_id)
    vessel = dao.from_json(request.data)
    dao.create(vessel)
    vessel = dao.retrieve(vessel.identifier)
    return dao.get_schema().dumps(vessel, indent=2), 200
示例#7
0
def vessel_list(account_id):
    dao = VesselDao(content, account_id)
    vessels = dao.find_all()
    return dao.get_schema().dumps(vessels, many=True, indent=2), 200
示例#8
0
def vessel(account_id, identifier):
    dao = VesselDao(content, account_id)
    vessel = dao.retrieve(identifier)
    return dao.get_schema().dumps(vessel, indent=2), 200