def test_get_master_token(self, m_perform_master_login: NonCallableMock, m_log: NonCallableMock) -> None: """Test getting master token""" # No token in response self.assertIsNone(self.client.get_master_token()) m_perform_master_login.assert_called_once_with( self.client.username, self.client.password, self.client.get_android_id()) self.assertEqual(m_log.call_count, 1) # Reset mocks m_perform_master_login.reset_mock() m_log.reset_mock() # With token in response expected_master_token = faker.master_token() m_perform_master_login.return_value = {"Token": expected_master_token} master_token = self.client.get_master_token() m_perform_master_login.assert_called_once_with( self.client.username, self.client.password, self.client.get_android_id()) self.assertEqual(expected_master_token, master_token) self.assertEqual(m_log.call_count, 0) # Another request - must return the same token all the time master_token = self.client.get_master_token() self.assertEqual(expected_master_token, master_token)
def test_get_access_token( self, m_perform_oauth: NonCallableMock, m_get_master_token: NonCallableMock, m_log: NonCallableMock, ) -> None: """Test getting access token""" master_token = faker.master_token() m_get_master_token.return_value = {"Token": master_token} # No token in response self.assertIsNone(self.client.get_access_token()) m_perform_oauth.assert_called_once_with( self.client.username, master_token, self.client.get_android_id(), app=ACCESS_TOKEN_APP_NAME, service=ACCESS_TOKEN_SERVICE, client_sig=ACCESS_TOKEN_CLIENT_SIGNATURE, ) self.assertEqual(m_log.call_count, 1) # Reset mocks m_perform_oauth.reset_mock() m_log.reset_mock() # With token in response expected_access_token = faker.access_token() m_perform_oauth.return_value = {"Auth": expected_access_token} access_token = self.client.get_access_token() m_perform_oauth.assert_called_once_with( self.client.username, master_token, self.client.get_android_id(), app=ACCESS_TOKEN_APP_NAME, service=ACCESS_TOKEN_SERVICE, client_sig=ACCESS_TOKEN_CLIENT_SIGNATURE, ) self.assertEqual(expected_access_token, access_token) self.assertEqual(m_log.call_count, 0) # Reset mocks m_perform_oauth.reset_mock() m_log.reset_mock() # Another request with non expired token must return the same token # (no new requests) access_token = self.client.get_access_token() self.assertEqual(expected_access_token, access_token) self.assertEqual(m_perform_oauth.call_count, 0) # Another request with expired token must return new token (new request) assert self.client.access_token_date is not None self.client.access_token_date = self.client.access_token_date - timedelta( ACCESS_TOKEN_DURATION + 1) access_token = self.client.get_access_token() self.assertEqual(m_perform_oauth.call_count, 1)
def test_get_custom_build_selector_with_allowlist( self, mock_gen_unboxing: NonCallableMock, mock_make_file_manager: NonCallableMock, mock_parse_native_yaml: NonCallableMock, mock_get_custom_build_selector: NonCallableMock, ) -> None: args = ["--op_registration_allowlist=op1", "--op_selection_yaml_path=path2"] gen_unboxing.main(args) mock_get_custom_build_selector.assert_called_once_with(["op1"], "path2")
def test_initialization__valid_verbose_logger( self, m_set_level: NonCallableMock) -> None: """Valid initialization tests with verbose logging""" # Non verbose GLocalAuthenticationTokens(username=faker.word(), password=faker.word()) m_set_level.assert_called_once_with(logging.ERROR) m_set_level.reset_mock() # Verbose GLocalAuthenticationTokens(username=faker.word(), password=faker.word(), verbose=True) m_set_level.assert_called_once_with(logging.DEBUG)
def test_get_custom_build_selector_with_allowlist_yaml( self, mock_gen_unboxing: NonCallableMock, mock_make_file_manager: NonCallableMock, mock_parse_native_yaml: NonCallableMock, mock_get_custom_build_selector: NonCallableMock, ) -> None: temp_file = tempfile.NamedTemporaryFile() temp_file.write(b"- aten::add.Tensor") temp_file.seek(0) args = [ f"--TEST_ONLY_op_registration_allowlist_yaml_path={temp_file.name}", "--op_selection_yaml_path=path2", ] gen_unboxing.main(args) mock_get_custom_build_selector.assert_called_once_with( ["aten::add.Tensor"], "path2") temp_file.close()