Esempio n. 1
0
 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)))
Esempio n. 2
0
 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'])
Esempio n. 3
0
 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)
Esempio n. 4
0
 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'])
Esempio n. 5
0
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()
Esempio n. 6
0
 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)) ])
Esempio n. 7
0
    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")
Esempio n. 9
0
 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)
Esempio n. 10
0
 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')
Esempio n. 11
0
 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)))
Esempio n. 12
0
 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)
Esempio n. 13
0
 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)
Esempio n. 14
0
 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)
Esempio n. 15
0
 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)
Esempio n. 16
0
        "-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
Esempio n. 17
0
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
Esempio n. 18
0
 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)
Esempio n. 19
0
 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')
Esempio n. 20
0
 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)