def test_api_proxy(self): api = PicovicoAPI("app_id", "device_id") assert api.app_id assert api.headers is None api.set_access_tokens("access_key", "access_token") assert api.headers assert api.is_authorized() api.logout() assert not api.is_authorized()
def prepare_api_object(profile_name, session=False): profile_name = profile_name or profile_utils.DEFAULT_PROFILE_NAME profile = profile_utils.get_profile(profile_name, info=True) api = PicovicoAPI(profile.APP_ID, profile.DEVICE_ID) if session: sess = profile_utils.get_session_info() if sess and sess.PROFILE == profile.NAME: api.set_access_tokens(sess.ACCESS_KEY, sess.ACCESS_TOKEN) api._ready_component_property() else: auth_names = profile_utils.get_auth_names(profile.NAME) if not auth_names: prompt.show_no_session(profile.NAME) action = { profile_utils.LOGIN_INFO: 'login', profile_utils.AUTHENTICATE_INFO: 'authenticate', }.get(auth_names, None) if not all(getattr(profile, k, None) for k in auth_names): prompt.show_no_session(profile.NAME) else: arguments = {k.lower(): getattr(profile, k) for k in auth_names} api = auth_action(action, profile.NAME, **arguments) return api