def test_lease_verify_child_availability_offer_conflict(self): parent_lease = api.lease_create(self.parent_lease_data) api.offer_create(self.child_offer_data) start = (self.child_offer_data['start_time'] + datetime.timedelta(days=-5)) end = self.child_offer_data['start_time'] + datetime.timedelta(days=-1) api.lease_verify_child_availability(parent_lease, start, end) start = self.child_offer_data['end_time'] + datetime.timedelta(days=1) end = self.child_offer_data['end_time'] + datetime.timedelta(days=5) api.lease_verify_child_availability(parent_lease, start, end) start = (self.child_offer_data['start_time'] + datetime.timedelta(days=1)) end = self.child_offer_data['end_time'] + datetime.timedelta(days=5) self.assertRaises( e.LeaseNoTimeAvailabilities, api.lease_verify_child_availability, parent_lease, start, end, ) start = (self.child_offer_data['start_time'] + datetime.timedelta(days=-1)) end = self.child_offer_data['end_time'] + datetime.timedelta(days=-1) self.assertRaises( e.LeaseNoTimeAvailabilities, api.lease_verify_child_availability, parent_lease, start, end, )
def test_offer_get_all(self): o1 = api.offer_create(test_offer_2) o2 = api.offer_create(test_offer_3) res = api.offer_get_all({}) self.assertEqual(2, res.count()) self.assertEqual((o1.to_dict(), o2.to_dict()), (res[0].to_dict(), res[1].to_dict()))
def test_offer_get_by_uuid(self): offer = api.offer_create(test_offer_1) api.offer_create(test_offer_2) res = api.offer_get_by_uuid(offer.uuid) self.assertEqual(offer.uuid, res.uuid) self.assertEqual(offer.project_id, res.project_id) self.assertEqual(offer.properties, res.properties)
def test_contract_get_all(self): o1 = api.offer_create(test_offer_2) test_contract_4['offer_uuid'] = o1.uuid o2 = api.offer_create(test_offer_3) test_contract_5['offer_uuid'] = o2.uuid c1 = api.contract_create(test_contract_4) c2 = api.contract_create(test_contract_5) res = api.contract_get_all({}) self.assertEqual((c1.to_dict(), c2.to_dict()), (res[0].to_dict(), res[1].to_dict()))
def test_lease_create(self): o1 = api.offer_create(test_offer_2) test_lease_4['offer_uuid'] = o1.uuid l1 = api.lease_create(test_lease_4) l2 = api.lease_get_all({}).all() assert len(l2) == 1 assert l2[0].to_dict() == l1.to_dict()
def test_offer_get_by_name(self): o1 = api.offer_create(test_offer_1) o2 = api.offer_create(test_offer_2) o3 = api.offer_create(test_offer_3) api.offer_create(test_offer_4) res = api.offer_get_by_name('o1') assert len(res) == 3 self.assertEqual(o1.uuid, res[0].uuid) self.assertEqual(o1.project_id, res[0].project_id) self.assertEqual(o2.uuid, res[1].uuid) self.assertEqual(o2.project_id, res[1].project_id) self.assertEqual(o3.uuid, res[2].uuid) self.assertEqual(o3.project_id, res[2].project_id)
def test_resource_verify_availability_offer_conflict(self): o1 = api.offer_create(test_offer_4) r_type = o1.resource_type r_uuid = o1.resource_uuid start = test_offer_4['end_time'] + datetime.timedelta(days=1) end = test_offer_4['end_time'] + datetime.timedelta(days=5) api.resource_verify_availability(r_type, r_uuid, start, end) start = test_offer_4['start_time'] + datetime.timedelta(days=1) end = test_offer_4['end_time'] + datetime.timedelta(days=-1) self.assertRaises(e.ResourceTimeConflict, api.resource_verify_availability, r_type, r_uuid, start, end) start = test_offer_4['start_time'] + datetime.timedelta(days=-1) end = test_offer_4['end_time'] + datetime.timedelta(days=1) self.assertRaises(e.ResourceTimeConflict, api.resource_verify_availability, r_type, r_uuid, start, end) start = test_offer_4['start_time'] + datetime.timedelta(days=-1) end = test_offer_4['start_time'] + datetime.timedelta(days=1) self.assertRaises(e.ResourceTimeConflict, api.resource_verify_availability, r_type, r_uuid, start, end) start = test_offer_4['end_time'] + datetime.timedelta(days=-1) end = test_offer_4['end_time'] + datetime.timedelta(days=1) self.assertRaises(e.ResourceTimeConflict, api.resource_verify_availability, r_type, r_uuid, start, end)
def test_contract_create(db): o1 = api.offer_create(test_offer_2) test_contract_4['offer_uuid'] = o1.uuid c1 = api.contract_create(test_contract_4) c2 = api.contract_get_all({}).all() assert len(c2) == 1 assert c2[0].to_dict() == c1.to_dict()
def test_offer_update_invalid_time(self): o1 = api.offer_create(test_offer_3) values = { 'start_time': now + datetime.timedelta(days=101), 'end_time': now } self.assertRaises(e.InvalidTimeRange, api.offer_update, o1.uuid, values)
def test_offer_get_conflict_times(self): o1 = api.offer_create(test_offer_1) self.assertEqual(api.offer_get_conflict_times(o1), []) test_contract_3['offer_uuid'] = o1.uuid api.contract_create(test_contract_3) self.assertEqual(api.offer_get_conflict_times(o1), [(now + datetime.timedelta(days=50), now + datetime.timedelta(days=60))])
def test_offer_update(self): o1 = api.offer_create(test_offer_3) values = { 'start_time': test_offer_2['start_time'], 'end_time': test_offer_2['end_time'] } api.offer_update(o1.uuid, values) self.assertEqual(test_offer_2['start_time'], o1.start_time) self.assertEqual(test_offer_2['end_time'], o1.end_time)
def test_lease_update(self): o1 = api.offer_create(test_offer_2) test_lease_4['offer_uuid'] = o1.uuid l1 = api.lease_create(test_lease_4) values = { 'start_time': test_lease_5['start_time'], 'end_time': test_lease_5['end_time'] } api.lease_update(l1.uuid, values) l1 = api.lease_get_by_uuid(l1.uuid) self.assertEqual(test_lease_5['start_time'], l1.start_time) self.assertEqual(test_lease_5['end_time'], l1.end_time)
def test_offer_get_first_availability(self): o1 = api.offer_create(test_offer_1) self.assertEqual( api.offer_get_first_availability( o1.uuid, o1.start_time, ), None) test_lease_3['offer_uuid'] = o1.uuid api.lease_create(test_lease_3) self.assertEqual( api.offer_get_first_availability(o1.uuid, o1.start_time), (now + datetime.timedelta(days=50), ))
def test_contract_update(self): o1 = api.offer_create(test_offer_2) test_contract_4['offer_uuid'] = o1.uuid c1 = api.contract_create(test_contract_4) values = { 'start_time': test_contract_5['start_time'], 'end_time': test_contract_5['end_time'] } api.contract_update(c1.uuid, values) c1 = api.contract_get_by_uuid(c1.uuid) self.assertEqual(test_contract_5['start_time'], c1.start_time) self.assertEqual(test_contract_5['end_time'], c1.end_time)
def test_contract_get_by_name(self): o1 = api.offer_create(test_offer_1) o2 = api.offer_create(test_offer_2) o3 = api.offer_create(test_offer_3) o4 = api.offer_create(test_offer_4) test_contract_1['offer_uuid'] = o1.uuid test_contract_2['offer_uuid'] = o2.uuid test_contract_3['offer_uuid'] = o3.uuid test_contract_4['offer_uuid'] = o4.uuid c1 = api.contract_create(test_contract_1) c2 = api.contract_create(test_contract_2) c3 = api.contract_create(test_contract_3) api.contract_create(test_contract_4) res = api.contract_get_by_name('c1') assert len(res) == 3 self.assertEqual(c1.uuid, res[0].uuid) self.assertEqual(c1.project_id, res[0].project_id) self.assertEqual(c2.uuid, res[1].uuid) self.assertEqual(c2.project_id, res[1].project_id) self.assertEqual(c3.uuid, res[2].uuid) self.assertEqual(c3.project_id, res[2].project_id)
def test_offer_get_all_time_filter(self): o1 = api.offer_create(test_offer_1) o2 = api.offer_create(test_offer_2) api.offer_create(test_offer_3) api.offer_create(test_offer_4) api.offer_create(test_offer_5) res = api.offer_get_all({ 'start_time': o1.start_time + datetime.timedelta(days=26), 'end_time': o1.end_time + datetime.timedelta(days=-1), }) self.assertEqual(2, res.count()) self.assertEqual((o1.to_dict(), o2.to_dict()), (res[0].to_dict(), res[1].to_dict()))
def test_lease_get_by_name(self): o1 = api.offer_create(test_offer_1) o2 = api.offer_create(test_offer_2) o3 = api.offer_create(test_offer_3) o4 = api.offer_create(test_offer_4) test_lease_1['offer_uuid'] = o1.uuid test_lease_2['offer_uuid'] = o2.uuid test_lease_3['offer_uuid'] = o3.uuid test_lease_4['offer_uuid'] = o4.uuid l1 = api.lease_create(test_lease_1) l2 = api.lease_create(test_lease_2) l3 = api.lease_create(test_lease_3) api.lease_create(test_lease_4) res = api.lease_get_by_name('l1') assert len(res) == 3 self.assertEqual(l1.uuid, res[0].uuid) self.assertEqual(l1.project_id, res[0].project_id) self.assertEqual(l2.uuid, res[1].uuid) self.assertEqual(l2.project_id, res[1].project_id) self.assertEqual(l3.uuid, res[2].uuid) self.assertEqual(l3.project_id, res[2].project_id)
def test_offer_verify_resource_availability(self): o1 = api.offer_create(test_offer_4) r_type = o1.resource_type r_uuid = o1.resource_uuid start = now + datetime.timedelta(days=101) end = now + datetime.timedelta(days=105) api.offer_verify_resource_availability(r_type, r_uuid, start, end) start = now + datetime.timedelta(days=5) end = now + datetime.timedelta(days=10) self.assertRaises(e.OfferResourceTimeConflict, api.offer_verify_resource_availability, r_type, r_uuid, start, end)
def test_offer_get_all_lessee_filter(self, mock_gppit): mock_gppit.return_value = ['12345', '67890'] o1 = api.offer_create(test_offer_1) o2 = api.offer_create(test_offer_2) o3 = api.offer_create(test_offer_3) api.offer_create(test_offer_4) o5 = api.offer_create(test_offer_5) res = api.offer_get_all({'lessee_id': '12345'}) mock_gppit.assert_called_once_with('12345') self.assertEqual(4, res.count()) self.assertEqual( (o1.to_dict(), o2.to_dict(), o3.to_dict(), o5.to_dict()), (res[0].to_dict(), res[1].to_dict(), res[2].to_dict(), res[3].to_dict()))
def test_offer_get_all_time_filter_within(self): o1 = api.offer_create(test_offer_1) o2 = api.offer_create(test_offer_2) o3 = api.offer_create(test_offer_3) o4 = api.offer_create(test_offer_4) api.offer_create(test_offer_5) res = api.offer_get_all({ 'start_time': o1.end_time + datetime.timedelta(days=-2), 'end_time': o2.end_time + datetime.timedelta(days=1), 'time_filter_type': 'within' }) self.assertEqual(4, res.count()) self.assertEqual( (o1.to_dict(), o2.to_dict(), o3.to_dict(), o4.to_dict()), (res[0].to_dict(), res[1].to_dict(), res[2].to_dict(), res[3].to_dict()))
def test_contract_get_by_uuid(self): o1 = api.offer_create(test_offer_2) test_contract_4['offer_uuid'] = o1.uuid c1 = api.contract_create(test_contract_4) res = api.contract_get_by_uuid(c1.uuid) self.assertEqual(c1.uuid, res.uuid)
def test_offer_verify_availability(self): offer = api.offer_create(test_offer_1) test_contract_1['offer_uuid'] = offer.uuid test_contract_2['offer_uuid'] = offer.uuid test_contract_3['offer_uuid'] = offer.uuid api.contract_create(test_contract_1) api.contract_create(test_contract_2) api.contract_create(test_contract_3) start = now + datetime.timedelta(days=35) end = now + datetime.timedelta(days=40) api.offer_verify_availability(offer, start, end) start = now + datetime.timedelta(days=5) end = now + datetime.timedelta(days=10) api.offer_verify_availability(offer, start, end) start = now end = now + datetime.timedelta(days=10) api.offer_verify_availability(offer, start, end) start = now + datetime.timedelta(days=90) end = now + datetime.timedelta(days=100) api.offer_verify_availability(offer, start, end) start = now + datetime.timedelta(days=60) end = now + datetime.timedelta(days=100) api.offer_verify_availability(offer, start, end) start = now + datetime.timedelta(days=30) end = now + datetime.timedelta(days=50) api.offer_verify_availability(offer, start, end) start = now + datetime.timedelta(days=15) end = now + datetime.timedelta(days=16) self.assertRaises(e.OfferNoTimeAvailabilities, api.offer_verify_availability, offer, start, end) start = now + datetime.timedelta(days=45) end = now + datetime.timedelta(days=55) self.assertRaises(e.OfferNoTimeAvailabilities, api.offer_verify_availability, offer, start, end) start = now + datetime.timedelta(days=55) end = now + datetime.timedelta(days=65) self.assertRaises(e.OfferNoTimeAvailabilities, api.offer_verify_availability, offer, start, end) start = now + datetime.timedelta(days=50) end = now + datetime.timedelta(days=65) self.assertRaises(e.OfferNoTimeAvailabilities, api.offer_verify_availability, offer, start, end) start = now + datetime.timedelta(days=45) end = now + datetime.timedelta(days=60) self.assertRaises(e.OfferNoTimeAvailabilities, api.offer_verify_availability, offer, start, end) start = now + datetime.timedelta(days=90) end = now + datetime.timedelta(days=105) self.assertRaises(e.OfferNoTimeAvailabilities, api.offer_verify_availability, offer, start, end) start = now + datetime.timedelta(days=100) end = now + datetime.timedelta(days=105) self.assertRaises(e.OfferNoTimeAvailabilities, api.offer_verify_availability, offer, start, end) start = now + datetime.timedelta(days=105) end = now + datetime.timedelta(days=110) self.assertRaises(e.OfferNoTimeAvailabilities, api.offer_verify_availability, offer, start, end) start = now - datetime.timedelta(days=1) end = now + datetime.timedelta(days=5) self.assertRaises(e.OfferNoTimeAvailabilities, api.offer_verify_availability, offer, start, end) start = now - datetime.timedelta(days=1) end = now self.assertRaises(e.OfferNoTimeAvailabilities, api.offer_verify_availability, offer, start, end) start = now - datetime.timedelta(days=10) end = now - datetime.timedelta(days=5) self.assertRaises(e.OfferNoTimeAvailabilities, api.offer_verify_availability, offer, start, end) start = now + datetime.timedelta(days=45) end = now + datetime.timedelta(days=55) self.assertRaises(e.OfferNoTimeAvailabilities, api.offer_verify_availability, offer, start, end) test_contract_4['offer_uuid'] = offer.uuid api.contract_create(test_contract_4) start = now + datetime.timedelta(days=86) end = now + datetime.timedelta(days=87) api.offer_verify_availability(offer, start, end)
def test_offer_create(self): offer = api.offer_create(test_offer_1) o = api.offer_get_all({}).all() assert len(o) == 1 assert o[0].to_dict() == offer.to_dict()
def test_contract_destroy(self): o1 = api.offer_create(test_offer_2) test_contract_4['offer_uuid'] = o1.uuid c1 = api.contract_create(test_contract_4) api.contract_destroy(c1.uuid) self.assertEqual(api.contract_get_by_uuid('contract_4'), None)
def test_lease_destroy(self): o1 = api.offer_create(test_offer_2) test_lease_4['offer_uuid'] = o1.uuid l1 = api.lease_create(test_lease_4) api.lease_destroy(l1.uuid) self.assertEqual(api.lease_get_by_uuid('lease_4'), None)
def test_offer_destroy(self): o1 = api.offer_create(test_offer_2) api.offer_destroy(o1.uuid) self.assertEqual(api.offer_get_by_uuid('offer_2'), None)
def test_lease_get_by_uuid(self): o1 = api.offer_create(test_offer_2) test_lease_4['offer_uuid'] = o1.uuid l1 = api.lease_create(test_lease_4) res = api.lease_get_by_uuid(l1.uuid) self.assertEqual(l1.uuid, res.uuid)