Example #1
0
 def testServiceElementCallbackWithDiffDevice(self):
     device = fase_model.Device(device_type='MockType',
                                device_id='MockDeviceID')
     version_info, session_info, screen_info = self._GetServiceAndAssert(
         device)
     self._EnterNameAndAssert('Henry Ford', device, version_info,
                              session_info, screen_info)
     device_2 = fase_model.Device(device_type='MockType',
                                  device_id='MockDeviceID2')
     screen_info = self._EnterNextAndAssert('Henry Ford', device_2,
                                            version_info, session_info,
                                            screen_info)
     self._EnterResetAndAssert(device_2, version_info, session_info,
                               screen_info)
Example #2
0
 def testPrepareScreenNoVariables(self):
     device = fase_model.Device(device_type='MockType',
                                device_id='MockDeviceID')
     _, session_info, _ = self._GetServiceAndAssert(device)
     service_prog = fase_database.FaseDatabaseInterface.Get(
     ).GetServiceProg(session_info.session_id)
     screen = fase.Screen(service_prog.service)
     frame = screen.AddFrame(id_='frame_id')
     frame.AddText(id_='text_id')
     frame.AddStringVariable(id_='value_str', value='general')
     self.assertTrue(
         screen.GetElement(id_='frame_id').HasElement(id_='text_id'))
     self.assertTrue(
         screen.GetElement(id_='frame_id').HasElement(id_='value_str'))
     screen_removed_variables, _ = fase_server.PrepareScreen(screen, None)
     self.assertTrue(
         screen.GetElement(id_='frame_id').HasElement(id_='text_id'))
     self.assertTrue(
         screen.GetElement(id_='frame_id').HasElement(id_='value_str'))
     self.assertTrue(
         screen_removed_variables.GetElement(id_='frame_id').HasElement(
             id_='text_id'))
     self.assertFalse(
         screen_removed_variables.GetElement(id_='frame_id').HasElement(
             id_='value_str'))
Example #3
0
    def testPrepareScreenResourcesPixelDensity(self):
        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID',
                                   pixel_density=1.5)
        _, session_info, _ = self._GetServiceAndAssert(device)
        service_prog = fase_database.FaseDatabaseInterface.Get(
        ).GetServiceProg(session_info.session_id)
        screen = fase.Screen(service_prog.service)
        frame = screen.AddFrame(id_='frame_id')
        frame.AddImage(id_='image1_id', filename=self.file1_template_filename)
        frame.AddImage(id_='image2_id', filename=self.file2_template_filename)
        _, resources = fase_server.PrepareScreen(screen, device)
        self.assertEqual(
            set([
                fase_model.Resource(filename=self.file1_20_filename),
                fase_model.Resource(filename=self.file2_20_filename)
            ]), set(resources.resource_list))

        screen = fase.Screen(service_prog.service)
        frame = screen.AddFrame(id_='frame_id')
        frame.AddImage(id_='image1_id',
                       filename=self.file1_template_filename,
                       pixel_density_mult=2.0)
        frame.AddImage(id_='image2_id',
                       filename=self.file2_template_filename,
                       pixel_density_mult=2.0)
        _, resources = fase_server.PrepareScreen(screen, device)
        self.assertEqual(
            set([
                fase_model.Resource(filename=self.file1_30_filename),
                fase_model.Resource(filename=self.file2_30_filename)
            ]), set(resources.resource_list))
Example #4
0
    def testServiceElementCallbackDeviceVersionObsolete(self):
        previous_version = ServerTestService.version
        ServerTestService.version = '2'

        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID')
        version_info, session_info, screen_info_entered_name = self._GetServiceAndAssert(
            device)
        self._EnterNameAndAssert('Henry Ford', device, version_info,
                                 session_info, screen_info_entered_name)
        screen_info_clicked_next = self._EnterNextAndAssert(
            'Henry Ford', device, version_info, session_info,
            screen_info_entered_name)

        version_info = fase_model.VersionInfo(version=previous_version)

        element_callback = (fase_model.ElementCallback(
            id_list=['next_button_id'],
            method=fase.ON_CLICK_METHOD,
            device=device))
        response_updated = fase_server.FaseServer.Get().ElementCallback(
            element_callback, version_info, session_info,
            screen_info_entered_name)
        self._AssertDeviceUpdateScreen(response_updated, session_info,
                                       screen_info_clicked_next)

        ServerTestService.version = previous_version
Example #5
0
    def testServiceScreenUpdateScreenInfoObsolete(self):
        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID')
        version_info, session_info, screen_info_entered_name = self._GetServiceAndAssert(
            device)
        self._EnterNameAndAssert('Henry Ford', device, version_info,
                                 session_info, screen_info_entered_name)
        screen_info_clicked_next = self._EnterNextAndAssert(
            'Henry Ford', device, version_info, session_info,
            screen_info_entered_name)

        screen_prog_clicked_next = fase_database.FaseDatabaseInterface.Get(
        ).GetScreenProg(session_info.session_id)
        screen_clicked_next = screen_prog_clicked_next.screen

        elements_update = fase_model.ElementsUpdate([['text_name_id']],
                                                    ['Howard Hughes'])
        screen_update = fase_model.ScreenUpdate(
            elements_update=elements_update, device=device)
        response_enter_name_again = fase_server.FaseServer.Get().ScreenUpdate(
            screen_update, version_info, session_info,
            screen_info_entered_name)
        self.assertEqual(screen_clicked_next, response_enter_name_again.screen)
        expected_resources = fase_model.Resources(
            resource_list=[fase_model.Resource(filename=self.hello_filename)])
        self.assertEqual(
            set(expected_resources.resource_list),
            set(response_enter_name_again.resources.resource_list))
        self.assertIsNone(response_enter_name_again.elements_update)
        self.assertEqual(session_info, response_enter_name_again.session_info)
        self.assertEqual(screen_info_clicked_next,
                         response_enter_name_again.screen_info)
Example #6
0
    def testServiceElementCallbackScreenInfoObsolete(self):
        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID')
        version_info, session_info, screen_info_entered_name = self._GetServiceAndAssert(
            device)
        self._EnterNameAndAssert('Henry Ford', device, version_info,
                                 session_info, screen_info_entered_name)
        screen_info_clicked_next = self._EnterNextAndAssert(
            'Henry Ford', device, version_info, session_info,
            screen_info_entered_name)

        screen_prog_clicked_next = fase_database.FaseDatabaseInterface.Get(
        ).GetScreenProg(session_info.session_id)
        screen_clicked_next = screen_prog_clicked_next.screen

        element_callback = (fase_model.ElementCallback(
            id_list=['next_button_id'],
            method=fase.ON_CLICK_METHOD,
            device=device))
        response_click_again = fase_server.FaseServer.Get().ElementCallback(
            element_callback, version_info, session_info,
            screen_info_entered_name)
        self.assertEqual(screen_clicked_next, response_click_again.screen)
        expected_resources = fase_model.Resources(
            resource_list=[fase_model.Resource(filename=self.hello_filename)])
        self.assertEqual(set(expected_resources.resource_list),
                         set(response_click_again.resources.resource_list))
        self.assertIsNone(response_click_again.elements_update)
        self.assertEqual(session_info, response_click_again.session_info)
        self.assertEqual(screen_info_clicked_next,
                         response_click_again.screen_info)
Example #7
0
    def testServiceScreenUpdateDeviceVersionObsolete(self):
        previous_version = ServerTestService.version
        ServerTestService.version = '2'

        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID')
        version_info, session_info, screen_info_entered_name = self._GetServiceAndAssert(
            device)
        self._EnterNameAndAssert('Henry Ford', device, version_info,
                                 session_info, screen_info_entered_name)
        screen_info_clicked_next = self._EnterNextAndAssert(
            'Henry Ford', device, version_info, session_info,
            screen_info_entered_name)

        version_info = fase_model.VersionInfo(version=previous_version)

        elements_update = fase_model.ElementsUpdate([['text_name_id']],
                                                    ['Howard Hughes'])
        screen_update = fase_model.ScreenUpdate(
            elements_update=elements_update, device=device)
        response_updated = fase_server.FaseServer.Get().ScreenUpdate(
            screen_update, version_info, session_info,
            screen_info_entered_name)
        self._AssertDeviceUpdateScreen(response_updated, session_info,
                                       screen_info_clicked_next)

        ServerTestService.version = previous_version
Example #8
0
    def testServiceUpdateDevice(self):
        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID',
                                   device_token='Token1')
        version_info, session_info, screen_info = self._GetServiceAndAssert(
            device)
        self._AssertDevice(device, session_info)

        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID',
                                   device_token='Token2')
        service_prog = fase_database.FaseDatabaseInterface.Get(
        ).GetServiceProg(session_info.session_id)
        expected_screen = FaseServerTest._GetEnterNameScreen(
            service_prog.service)
        expected_screen._screen_id = screen_info.screen_id
        expected_resources = fase_model.Resources(
            resource_list=[fase_model.Resource(filename=self.logo_filename)])
        self._GetScreenAndAssert(device,
                                 version_info,
                                 session_info,
                                 screen_info,
                                 expected_screen=expected_screen,
                                 expected_resources=expected_resources)
        self._AssertDevice(device, session_info)

        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID',
                                   device_token='Token3')
        self._EnterNameAndAssert('Henry Ford', device, version_info,
                                 session_info, screen_info)
        self._AssertDevice(device, session_info)

        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID',
                                   device_token='Token4')
        screen_info = self._EnterNextAndAssert('Henry Ford', device,
                                               version_info, session_info,
                                               screen_info)
        self._AssertDevice(device, session_info)

        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID',
                                   device_token='Token5')
        self._EnterResetAndAssert(device, version_info, session_info,
                                  screen_info)
        self._AssertDevice(device, session_info)
Example #9
0
 def testServiceUpdateElementsUpdate(self):
     device = fase_model.Device(device_type='MockType',
                                device_id='MockDeviceID')
     version_info, session_info, screen_info = self._GetServiceAndAssert(
         device)
     self._EnterNameAndAssert('Henry Ford', device, version_info,
                              session_info, screen_info)
     self._EnterNameAndAssert('Howard Hughes', device, version_info,
                              session_info, screen_info)
Example #10
0
    def testService(self):
        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID')
        response = self._GetService(device)
        session_info = response.session_info
        screen_info = response.screen_info
        service_prog = fase_database.FaseDatabaseInterface.Get(
        ).GetServiceProg(session_info.session_id)
        expected_screen = ApplicationTest._GetEnterNameScreen(
            service_prog.service)
        expected_screen._screen_id = screen_info.screen_id
        self.assertEqual(expected_screen, response.screen)
        response = self._GetScreen(device, session_info)
        self.assertEqual(expected_screen, response.screen)

        elements_update = fase_model.ElementsUpdate([['text_name_id']],
                                                    ['Hanry Ford'])
        screen_update = fase_model.ScreenUpdate(
            elements_update=elements_update, device=device)
        response = self._ScreenUpdate(screen_update, session_info, screen_info)
        expected_screen = ApplicationTest._GetEnterNameScreen(
            service_prog.service, name='Hanry Ford')
        expected_screen._screen_id = screen_info.screen_id
        self.assertIsNone(response.screen)
        response = self._GetScreen(device, session_info)
        self.assertEqual(expected_screen, response.screen)

        element_callback = (fase_model.ElementCallback(
            id_list=['next_button_id'],
            method=fase.ON_CLICK_METHOD,
            device=device))
        response = self._ElementCallback(element_callback, session_info,
                                         screen_info)
        screen_info = response.screen_info
        expected_screen = ApplicationTest._GetGreetingScreen(
            service_prog.service, name='Hanry Ford')
        expected_screen._screen_id = screen_info.screen_id
        self.assertEqual(expected_screen, response.screen)
        response = self._GetScreen(device, session_info)
        self.assertEqual(expected_screen, response.screen)

        element_callback = (fase_model.ElementCallback(
            id_list=['reset_button_id'],
            method=fase.ON_CLICK_METHOD,
            device=device))
        response = self._ElementCallback(element_callback, session_info,
                                         screen_info)
        screen_info = response.screen_info
        expected_screen = ApplicationTest._GetEnterNameScreen(
            service_prog.service)
        expected_screen._screen_id = screen_info.screen_id
        self.assertEqual(expected_screen, response.screen)
        response = self._GetScreen(device, session_info)
        self.assertEqual(expected_screen, response.screen)
Example #11
0
    def testServiceScreenUpdateWithDiffDevice(self):
        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID')
        version_info, session_info, screen_info = self._GetServiceAndAssert(
            device)
        self._EnterNameAndAssert('Henry Ford', device, version_info,
                                 session_info, screen_info)

        device_2 = fase_model.Device(device_type='MockType',
                                     device_id='MockDeviceID2')
        elements_update = fase_model.ElementsUpdate([['text_name_id']],
                                                    ['Howard Hughes'])
        screen_update = fase_model.ScreenUpdate(
            elements_update=elements_update, device=device_2)
        response = fase_server.FaseServer.Get().ScreenUpdate(
            screen_update, version_info, session_info, screen_info)
        service_prog = fase_database.FaseDatabaseInterface.Get(
        ).GetServiceProg(session_info.session_id)
        expected_screen = FaseServerTest._GetEnterNameScreen(
            service_prog.service, name='Howard Hughes')
        expected_screen._screen_id = screen_info.screen_id
        expected_resources = fase_model.Resources(
            resource_list=[fase_model.Resource(filename=self.logo_filename)])
        self.assertIsNone(response.screen)
        self.assertIsNone(response.resources)
        self.assertEqual(elements_update, response.elements_update)
        self.assertEqual(session_info, response.session_info)
        self.assertEqual(screen_info, response.screen_info)

        self._GetScreenProgAndAssert(session_info,
                                     expected_screen=expected_screen,
                                     expected_elements_update=elements_update,
                                     expected_device=device_2)
        self._GetScreenAndAssert(device_2,
                                 version_info,
                                 session_info,
                                 screen_info,
                                 expected_screen=expected_screen,
                                 expected_resources=expected_resources)
Example #12
0
    def AddDevicePushServiceProviderAndService(self):
        device_pusher.DevicePusher.Set(device_pusher.DevicePusher(),
                                       overwrite=True)
        device_type_1_provider = device_pusher.MockDevicePushServiceProvider()
        device_pusher.DevicePusher.Get().AddDevicePushServiceProvider(
            'device_type_1', device_type_1_provider)
        device_type_2_provider = device_pusher.MockDevicePushServiceProvider()
        device_pusher.DevicePusher.Get().AddDevicePushServiceProvider(
            'device_type_2', device_type_2_provider)

        user = fase.User(user_id='321',
                         phone_number='+13216549870',
                         first_name='Edward',
                         last_name='Igushev',
                         datetime_added=datetime.datetime.utcnow())
        service = PusherTestService()
        service._session_id = fase_sign_in_impl.GenerateSignedInSessionId(
            user.user_id)
        screen = service.OnStart()
        service_prog = fase_model.ServiceProg(
            session_id=service.GetSessionId(), service=service)
        service_prog.device_list.append(
            fase_model.Device(device_type='device_type_1',
                              device_token='device_token_1_1'))
        service_prog.device_list.append(
            fase_model.Device(device_type='device_type_1',
                              device_token='device_token_1_2'))
        service_prog.device_list.append(
            fase_model.Device(device_type='device_type_2',
                              device_token='device_token_2_1'))
        screen_prog = fase_model.ScreenProg(session_id=service.GetSessionId(),
                                            screen=screen)

        fase_database.FaseDatabaseInterface.Set(fase_database.MockFaseDatabase(
            service_prog_list=[service_prog],
            screen_prog_list=[screen_prog],
            user_list=[user]),
                                                overwrite=True)
        return device_type_1_provider, device_type_2_provider, service_prog, user
Example #13
0
    def testUpdate(self):
        device_type_1_provider, device_type_2_provider, service_prog, user = (
            self.AddDevicePushServiceProviderAndService())

        fase_pusher.Push(user.user_id, 'TestTitle',
                         device_pusher.UPDATE_THROW_ERROR + 'device_token_1b')

        self.assertEqual(2, len(device_type_1_provider.notifications))
        self.assertEqual(1, len(device_type_2_provider.notifications))

        self.assertEqual(3, len(service_prog.device_list))
        self.assertEqual(
            fase_model.Device(device_type='device_type_1',
                              device_token='device_token_1b'),
            service_prog.device_list[0])
        self.assertEqual(
            fase_model.Device(device_type='device_type_1',
                              device_token='device_token_1b'),
            service_prog.device_list[1])
        self.assertEqual(
            fase_model.Device(device_type='device_type_2',
                              device_token='device_token_1b'),
            service_prog.device_list[2])
Example #14
0
 def testGetService(self):
   self.requests_bkp = fase_http_client.requests 
   fase_http_client.requests = MockRequests(self) 
   
   http_client = fase_http_client.FaseHTTPClient(MOCK_URL)
   device = fase_model.Device(device_type='MockType', device_id='MockDeviceID')
   response = fase_model.Response()
   fase_http_client.requests.expected_url = MOCK_URL + '/getservice'
   fase_http_client.requests.expected_json = device.ToSimple()
   fase_http_client.requests.response = response
   actual_response = http_client.GetService(device)
   self.assertEqual(response, actual_response)
 
   fase_http_client.requests = self.requests_bkp
Example #15
0
 def testGetScreen(self):
   self.requests_bkp = fase_http_client.requests 
   fase_http_client.requests = MockRequests(self) 
   
   http_client = fase_http_client.FaseHTTPClient(MOCK_URL)
   device = fase_model.Device(device_type='MockType', device_id='MockDeviceID')
   session_info = fase_model.SessionInfo(session_id='MockSessionId')
   response = fase_model.Response()
   fase_http_client.requests.expected_url = MOCK_URL + '/getscreen'
   fase_http_client.requests.expected_headers = {'session-id': session_info.session_id}
   fase_http_client.requests.expected_json = device.ToSimple()
   fase_http_client.requests.response = response
   actual_response = http_client.GetScreen(device, session_info)
   self.assertEqual(response, actual_response)
 
   fase_http_client.requests = self.requests_bkp
Example #16
0
    def testServiceGetScreenServiceVersionObsolete(self):
        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID')
        version_info, session_info, screen_info_entered_name = self._GetServiceAndAssert(
            device)
        self._EnterNameAndAssert('Henry Ford', device, version_info,
                                 session_info, screen_info_entered_name)

        previous_version = ServerTestService.version
        ServerTestService.version = '2'

        response_updated = fase_server.FaseServer.Get().GetScreen(
            device, version_info, session_info)
        self._AssertServiceUpdateScreen(response_updated, session_info)

        ServerTestService.version = previous_version
Example #17
0
  def Start(self):
    fase_database.FaseDatabaseInterface.Set(
        fase_database.MockFaseDatabase(
            service_prog_list=[],
            screen_prog_list=[],
            user_list=[
                fase.User(user_id='321',
                          phone_number='+13216549870',
                          first_name='Edward',
                          last_name='Igushev',
                          datetime_added=datetime.datetime.utcnow())]),
        overwrite=True)

    datetime_now = datetime.datetime.utcnow()
    self.note_1 = notes_model.Note(note_id='321_1',
                                   user_id='321',
                                   header='Note 1 Header',
                                   text='Note 1 text',
                                   datetime=datetime_now+datetime.timedelta(days=1),
                                   favourite=False)
    self.note_2 = notes_model.Note(note_id='321_2',
                                   user_id='321',
                                   header='Note 2 Header',
                                   text='Note 2 text',
                                   datetime=datetime_now-datetime.timedelta(days=1),
                                   favourite=True)
    self.note_3 = notes_model.Note(note_id='321_3',
                                   user_id='321',
                                   header='Note 3 Header',
                                   text='Note 3 text',
                                   datetime=datetime_now,
                                   favourite=False)  
    notes_database.NotesDatabaseInterface.Set(
        notes_database.MockNotesDatabase([self.note_1, self.note_2, self.note_3]),
        overwrite=True)

    # Create Service
    self.device = fase_model.Device(device_type='Python', device_id='DeviceID')
    response = fase_server.FaseServer.Get().GetService(self.device)
    version_info = response.version_info
    session_info = response.session_info
    screen_info = response.screen_info
    screen = response.screen
    # Check present of main elements.
    screen.GetElement(id_='notes_frame')
    
    return version_info, session_info, screen_info, screen
Example #18
0
    def testServiceElementCallbackWithElementsUpdate(self):
        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID')
        version_info, session_info, screen_info = self._GetServiceAndAssert(
            device)

        elements_update = fase_model.ElementsUpdate([['text_name_id']],
                                                    ['Henry Ford'])
        element_callback = fase_model.ElementCallback(
            elements_update=elements_update,
            id_list=['next_button_id'],
            method=fase.ON_CLICK_METHOD,
            device=device)
        response = fase_server.FaseServer.Get().ElementCallback(
            element_callback, version_info, session_info, screen_info)
        screen_info = response.screen_info
        service_prog = fase_database.FaseDatabaseInterface.Get(
        ).GetServiceProg(session_info.session_id)
        expected_screen = FaseServerTest._GetGreetingScreen(
            service_prog.service, 'Henry Ford')
        expected_screen._screen_id = screen_info.screen_id
        self.assertEqual(expected_screen, response.screen)
        expected_resources = fase_model.Resources(
            resource_list=[fase_model.Resource(filename=self.hello_filename)])
        self.assertEqual(set(expected_resources.resource_list),
                         set(response.resources.resource_list))
        self.assertFalse(response.resources.reset_resources)
        self.assertIsNone(response.elements_update)
        self.assertEqual(session_info, response.session_info)

        self._GetScreenProgAndAssert(session_info,
                                     expected_screen=expected_screen,
                                     expected_device=device)
        self._GetScreenAndAssert(device,
                                 version_info,
                                 session_info,
                                 screen_info,
                                 expected_screen=expected_screen,
                                 expected_resources=expected_resources)

        self._EnterResetAndAssert(device, version_info, session_info,
                                  screen_info)
Example #19
0
 def testScreenUpdateAndElementCallback(self):
   self.requests_bkp = fase_http_client.requests 
   fase_http_client.requests = MockRequests(self) 
   
   http_client = fase_http_client.FaseHTTPClient(MOCK_URL)
   device = fase_model.Device(device_type='MockType', device_id='MockDeviceID')
   session_info = fase_model.SessionInfo(session_id='MockSessionId')
   screen_info = fase_model.ScreenInfo(screen_id='MockScreenId')
   response = fase_model.Response()
   for url_method, http_client_method in [('/screenupdate', http_client.ScreenUpdate),
                                          ('/elementcallback', http_client.ElementCallback)]:
     fase_http_client.requests.expected_url = MOCK_URL + url_method
     fase_http_client.requests.expected_headers = {
         'session-id': session_info.session_id, 'screen-id': screen_info.screen_id}
     fase_http_client.requests.expected_json = device.ToSimple()
     fase_http_client.requests.response = response
     actual_response = http_client_method(device, session_info, screen_info)
     self.assertEqual(response, actual_response)
 
   fase_http_client.requests = self.requests_bkp
Example #20
0
  def __init__(self, http_client, ui, resource_manager, session_info_filepath=None):
    self.http_client = http_client
    self.ui = ui
    self.ui.SetClient(self)
    self.resource_manager = resource_manager
    self.session_info_filepath = session_info_filepath
    self.device = fase_model.Device(device_type=DEVICE_TYPE, device_id=str(uuid.uuid4()), pixel_density=PIXEL_DENSITY)
    self.screen = None
    self.elements_update = None
    self.session_info = LoadSessionInfoIfExists(self.session_info_filepath)
    self.screen_info = None

    self.id_list_to_value = dict()
    self.id_list_to_value_lock = threading.Lock()

    self.screen_lock = threading.Lock()
    self.screen_update_condition = threading.Condition(self.screen_lock)
    self.screen_update_response_queue = queue.Queue(maxsize=1)
    self.screen_update_thread = threading.Thread(target=self._ScreenUpdateThread)
    self.screen_update_thread.daemon = True
    self.screen_update_thread.start()
Example #21
0
 def testPrepareScreenResources(self):
     device = fase_model.Device(device_type='MockType',
                                device_id='MockDeviceID')
     _, session_info, _ = self._GetServiceAndAssert(device)
     service_prog = fase_database.FaseDatabaseInterface.Get(
     ).GetServiceProg(session_info.session_id)
     screen = fase.Screen(service_prog.service)
     frame1 = screen.AddFrame(id_='frame1_id')
     frame1.AddImage(id_='image1_id', filename=self.file1_filename)
     frame1.AddImage(id_='image2_id', filename=self.file2_filename)
     frame1.AddImage(id_='image3_id', filename=self.file3_filename)
     frame2 = screen.AddFrame(id_='frame2_id')
     frame2.AddImage(id_='image1_id', filename=self.file1_filename)
     frame2.AddImage(id_='image2_id', filename=self.file2_filename)
     frame2.AddImage(id_='image3_id', filename=self.file3_filename)
     _, resources = fase_server.PrepareScreen(screen, device)
     self.assertEqual(
         set([
             fase_model.Resource(filename=self.file1_filename),
             fase_model.Resource(filename=self.file2_filename)
         ]), set(resources.resource_list))
Example #22
0
 def testServiceUpdateElementsEmpty(self):
     device = fase_model.Device(device_type='MockType',
                                device_id='MockDeviceID')
     version_info, session_info, screen_info = self._GetServiceAndAssert(
         device)
     # Enter name and assert update in database.
     self._EnterNameAndAssert('Henry Ford', device, version_info,
                              session_info, screen_info)
     screen_prog = fase_database.FaseDatabaseInterface.Get().GetScreenProg(
         session_info.session_id)
     expected_elements_update = fase_model.ElementsUpdate(
         [['text_name_id']], ['Henry Ford'])
     self.assertEqual(expected_elements_update, screen_prog.elements_update)
     # Clean name and assert update has been deleted from database.
     elements_update = fase_model.ElementsUpdate([['text_name_id']], [''])
     screen_update = fase_model.ScreenUpdate(
         elements_update=elements_update, device=device)
     fase_server.FaseServer.Get().ScreenUpdate(screen_update, version_info,
                                               session_info, screen_info)
     screen_prog = fase_database.FaseDatabaseInterface.Get().GetScreenProg(
         session_info.session_id)
     expected_elements_update = fase_model.ElementsUpdate(
         [['text_name_id']], [''])
     self.assertEqual(expected_elements_update, screen_prog.elements_update)