def testDistanceIntegration(self): with unittest.mock.patch.dict('os.environ', environment_vars): wm = Managers.WebManager(sample_page) address1 = wm.get_details_dict()['Where'] address2 = '37 Sunny Slope, Rancho Santa Margarita' mm = Managers.MapManager('googlemaps') self.assertEqual(6, round(mm.get_miles(address2, address1)))
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 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 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 SetupMonitors(): # Setup managers commandManager = Managers.CommandManager(config) sensorManager = Managers.SensorManager(config) # Link them commandManager.SetSensorManager(sensorManager) sensorManager.SetCommandManager(commandManager) # If I have not a list of monitors, I setup only a monitor if ('monitors' not in config): monitor = Monitor(config, config, commandManager, sensorManager) else: # More Monitors # Now setup monitors monitor_id = 0 for monitor_config in config['monitors']: monitor_id += 1 monitor = Monitor(monitor_config, config, commandManager, sensorManager, monitor_id) # Start sensors loop sensorManager.Start()
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 setUp(self): self.track_manager = Managers.TrackManager(tkinter.Canvas(), "UnitTest.track")
def testMonthExtraction(self): with unittest.mock.patch.dict('os.environ', environment_vars): input = 'Fri Jun 21 at 7:30 pm' expected = datetime.datetime(2019, 6, 21, 19, 30) wm = Managers.WebManager(sample_page) self.assertEqual(wm._str_to_datetime(input), expected)
def testGetProvider(self): with unittest.mock.patch.dict('os.environ', environment_vars): wm = Managers.WebManager(sample_page) self.assertEqual(wm._get_provider(), 'First Class Signing Service')
def testDistance(self): address1 = '11426 Freer Street, Arcadia' address2 = '37 Sunny Slope, Rancho Santa Margarita' with unittest.mock.patch.dict('os.environ', environment_vars): mm = Managers.MapManager('googlemaps') self.assertEqual(56, round(mm.get_miles(address1, address2)))
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 testButtonClick(self): with unittest.mock.patch.dict('os.environ', environment_vars): wm = Managers.WebManager(faxback_page) wm.click_accept_button() with wm.wait_for_page_load(): self.assertEqual('Accept Page', wm.driver.title)
def testPageLoad(self): with unittest.mock.patch.dict('os.environ', environment_vars): wm = Managers.WebManager(already_filled) self.assertEqual('this signing order has been filled' in wm.driver.page_source, True)
"-s", "--switch", help="Which OpenFlow Switch to run: 'reference', 'ofps', 'ovs'") parser.add_option("-w", "--wait", type="int", help="Duration to wait before starting daemons") (options, args) = parser.parse_args() return options if __name__ == '__main__': options = parse_args() with Managers.Platform(options) as driver: with Managers.Switch(options, driver) as switch: print "Running self test for switch " + switch.Name if not switch.test(): print "Failed switch self test: exiting..." sys.exit(1) if not options.no_wait: print "Starting %s switch in %d seconds; ^C to quit" % ( options.switch, options.wait) time.sleep(options.wait) else: print "Starting %s switch; ^C to quit" % (options.switch) print "Starting switch" switch.start() #### This should block until killed externally
import Sensors import Commands import Managers from MqttClient import MqttClient import Logger sensorManager = None config = None config_filename = 'configuration.yaml' scriptFolder = str(os.path.dirname(os.path.realpath(__file__))) def LoadYAML(): global config with open(os.path.join(scriptFolder, config_filename)) as f: config = yaml.load(f, Loader=yaml.FullLoader) if __name__ == "__main__": LoadYAML() logger = Logger.Logger() logger.Log(Logger.LOG_INFO, 'Main', 'Starting') mqttClient = MqttClient(config, logger) commandManager = Managers.CommandManager(config, mqttClient, logger) sensorManager = Managers.SensorManager(config, mqttClient, logger) commandManager.SetSensorManager(sensorManager) sensorManager.SetCommandManager(commandManager) # All configurations must go above sensorManager.Start() # Start the loop
def testGetDetailsDict(self): with unittest.mock.patch.dict('os.environ', environment_vars): wm = Managers.WebManager(sample_page) expected = {'When' : datetime.datetime(2019, 6, 21, 19, 30), 'Where' : 'Dove Canyon, CA 92679', 'Fee' : 100, 'Qualifier' : None, 'Provider' : 'First Class Signing Service'} self.assertEqual(wm.get_details_dict(), expected)
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 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)