def testHasFree(self): with unittest.mock.patch.dict('os.environ', environment_vars): dt = datetime.datetime param = Managers.ConfigManager.get_parameters() cm = Managers.CalendarManager(param['Timezone']) free_slots = cm.has_free(dt(2019, 8, 6, 8, tzinfo=cm.timezone), dt(2019, 8, 6, 23, tzinfo=cm.timezone), param['Signing Duration']) self.assertEqual(free_slots, 7)
def testReadCalendar(self): with unittest.mock.patch.dict('os.environ', environment_vars): cm = Managers.CalendarManager(Managers.ConfigManager.get_parameters()['Timezone']) target_day = datetime.datetime(2019, 7, 23) events = cm.get_events_for_day(target_day) #self.assertListEqual([event['summary'] for event in events], ['test1', 'test2', 'test3']) self.assertListEqual([event['summary'] for event in events], ['Kevin orientation', 'REMOVED Rouse Jr Signing in Trabuco Canyon, CA'])
def testGetEventsBetween(self): with unittest.mock.patch.dict('os.environ', environment_vars): cm = Managers.CalendarManager(Managers.ConfigManager.get_parameters()['Timezone']) start_datetime = datetime.datetime(2019, 8, 6, 10, tzinfo=cm.timezone) end_datetime = datetime.datetime(2019, 8, 6, 16, 15, tzinfo=cm.timezone) events = cm.get_events_between(start_datetime, end_datetime) self.assertListEqual([ev['summary'] for ev in events], [ 'Bravman Signing in Irvine, CA', 'Francis Signing in San Clemente, CA', 'Ta Signing in Lake Forest, CA'])
def testGetUnionEvents(self): with unittest.mock.patch.dict('os.environ', environment_vars): dt = datetime.datetime cm = Managers.CalendarManager(Managers.ConfigManager.get_parameters()['Timezone']) target = datetime.datetime(2019, 8, 6, 10, tzinfo=cm.timezone) union_events = cm._get_union_events_for_day(target) self.assertListEqual([ev['summary'] for ev in union_events], [ 'Bravman Signing in Irvine, CA', 'Francis Signing in San Clemente, CA', 'Ta Signing in Lake Forest, CA', 'Kearney Signing in Irvine, CA']) self.assertListEqual([(ev['start']['dateTime'], ev['end']['dateTime']) for ev in union_events], [ (dt(2019, 8, 6, 9, 30, tzinfo=cm.timezone), dt(2019, 8, 6, 10, 30, tzinfo=cm.timezone)), (dt(2019, 8, 6, 14, tzinfo=cm.timezone), dt(2019, 8, 6, 15, tzinfo=cm.timezone)), (dt(2019, 8, 6, 15, 30, tzinfo=cm.timezone), dt(2019, 8, 6, 16, 30, tzinfo=cm.timezone)), (dt(2019, 8, 6, 19, 45, tzinfo=cm.timezone), dt(2019, 8, 6, 20, 45, tzinfo=cm.timezone)) ])
def testAreConflict(self): testev1 = {'start': {'dateTime' : datetime.datetime(2019, 6, 21, 2)}, 'end':{'dateTime': datetime.datetime(2019, 6, 21, 3)}} testev2 = {'start': {'dateTime' : datetime.datetime(2019, 6, 21, 1, 30)}, 'end':{'dateTime': datetime.datetime(2019, 6, 21, 2, 30)}} testev3 = {'start': {'dateTime' : datetime.datetime(2019, 6, 21, 2)}, 'end':{'dateTime': datetime.datetime(2019, 6, 21, 3)}} testev4 = {'start': {'dateTime' : datetime.datetime(2019, 6, 21, 3)}, 'end':{'dateTime': datetime.datetime(2019, 6, 21, 4)}} testev5 = {'start': {'dateTime' : datetime.datetime(2019, 6, 21, 2, 30)}, 'end':{'dateTime': datetime.datetime(2019, 6, 21, 2, 45)}} testev6 = {'start': {'dateTime' : datetime.datetime(2019, 6, 21, 1)}, 'end':{'dateTime': datetime.datetime(2019, 6, 21, 4)}} with unittest.mock.patch.dict('os.environ', environment_vars): cm = Managers.CalendarManager(Managers.ConfigManager.get_parameters()['Timezone']) self.assertEqual(cm._are_conflicted(testev1, testev2), True) self.assertEqual(cm._are_conflicted(testev1, testev3), True) self.assertEqual(cm._are_conflicted(testev1, testev4), False) self.assertEqual(cm._are_conflicted(testev1, testev5), True) self.assertEqual(cm._are_conflicted(testev1, testev6), True)
def __init__(self, url_string, webdriver=None): super().__init__() param = Managers.ConfigManager.get_parameters() self.web_manager = Managers.WebManager(url_string, webdriver=webdriver) self.calendar_manager = Managers.CalendarManager(param['Timezone'], start_time=param['Operating Start'], quitting_time=param['Operating End']) self.map_manager = Managers.MapManager('googlemaps')
def testIsFree(self): with unittest.mock.patch.dict('os.environ', environment_vars): cm = Managers.CalendarManager(Managers.ConfigManager.get_parameters()['Timezone']) target = datetime.datetime(2019, 8, 1, 8, 30).replace(tzinfo=cm.timezone) self.assertEqual(cm.is_free(target, 2), False)
def testPersonalPrefix(self): with unittest.mock.patch.dict('os.environ', environment_vars): cm = Managers.CalendarManager(Managers.ConfigManager.get_parameters()['Timezone']) target = datetime.datetime(2019, 8, 1) self.assertEqual(len(cm.get_signings_for_day(target)), 3)
def testIsConflict(self): with unittest.mock.patch.dict('os.environ', environment_vars): cm = Managers.CalendarManager( Managers.ConfigManager.get_parameters()['Timezone']) testev1 = {'start': {'dateTime': datetime.datetime(2019, 7, 23, 0, 30, tzinfo=cm.timezone)}, 'end': {'dateTime': datetime.datetime(2019, 7, 23, 1, 30, tzinfo=cm.timezone)}} self.assertEqual(cm.is_conflicted(testev1), True)