def test_omit(self): err = ErrorResponse(error="invalid_request", error_description="Something was missing", error_uri="http://example.com/error_message.html") ue_str = err.to_urlencoded() del err["error_uri"] ueo_str = err.to_urlencoded() assert ue_str != ueo_str assert "error_message" not in ueo_str assert "error_message" in ue_str
def test_parse_access_token_response(): client = Client() at = AccessTokenResponse(access_token="SlAV32hkKG", token_type="Bearer", refresh_token="8xLOxBtZp8", expires_in=3600) atj = at.to_json() ATR = AccessTokenResponse atr = client.parse_response(ATR, info=atj) assert _eq(atr.keys(), ['access_token', 'token_type', 'expires_in', 'refresh_token']) uec = at.to_urlencoded() raises(ValueError, 'client.parse_response(ATR, info=uec)') uatr = client.parse_response(ATR, info=uec, sformat="urlencoded") assert _eq(uatr.keys(), ['access_token', 'token_type', 'expires_in', 'refresh_token']) huec = "%s?%s" % ("https://example.com/token", uec) uatr = client.parse_response(ATR, info=huec, sformat="urlencoded") assert _eq(uatr.keys(), ['access_token', 'token_type', 'expires_in', 'refresh_token']) err = ErrorResponse(error="invalid_request", error_description="Something was missing", error_uri="http://example.com/error_message.html") jerr = err.to_json() uerr = err.to_urlencoded() _ = client.parse_response(ATR, info=jerr) _ = client.parse_response(ATR, info=uerr, sformat="urlencoded") raises(Exception, 'client.parse_response(ATR, info=jerr, sformat="urlencoded")') raises(Exception, "client.parse_response(ATR, info=uerr)") raises(Exception, 'client.parse_response(ATR, info=jerr, sformat="focus")')
def test_parse_error_resp(self): err = ErrorResponse(error="invalid_request", error_description="Something was missing", error_uri="http://example.com/error_message.html") jerr = err.to_json() uerr = err.to_urlencoded() _ = self.client.parse_response(AccessTokenResponse, info=jerr) _ = self.client.parse_response(AccessTokenResponse, info=uerr, sformat="urlencoded") with pytest.raises(ResponseError): self.client.parse_response(AccessTokenResponse, info=jerr, sformat="urlencoded") with pytest.raises(ValueError): self.client.parse_response(AccessTokenResponse, info=uerr) with pytest.raises(FormatError): self.client.parse_response(AccessTokenResponse, info=jerr, sformat="focus")
def test_parse_error_resp(self): err = ErrorResponse( error="invalid_request", error_description="Something was missing", error_uri="http://example.com/error_message.html", ) jerr = err.to_json() uerr = err.to_urlencoded() self.client.parse_response(AccessTokenResponse, info=jerr) self.client.parse_response(AccessTokenResponse, info=uerr, sformat="urlencoded") with pytest.raises(ResponseError): self.client.parse_response( AccessTokenResponse, info=jerr, sformat="urlencoded" ) with pytest.raises(DecodeError): self.client.parse_response(AccessTokenResponse, info=uerr) with pytest.raises(FormatError): self.client.parse_response(AccessTokenResponse, info=jerr, sformat="focus")
def test_missing_required(self): err = ErrorResponse() assert "error" not in err with pytest.raises(MissingRequiredAttribute): err.to_urlencoded()