| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.camel.component.salesforce.internal; |
| |
| import com.fasterxml.jackson.databind.ObjectMapper; |
| import org.apache.camel.component.salesforce.api.utils.JsonUtils; |
| import org.apache.camel.component.salesforce.internal.dto.LoginToken; |
| import org.junit.Test; |
| |
| import static org.junit.Assert.assertEquals; |
| import static org.junit.Assert.assertNotNull; |
| import static org.junit.Assert.assertNull; |
| |
| public class LoginTokenTest { |
| |
| @Test |
| public void testLoginTokenWithUnknownFields() throws Exception { |
| |
| String salesforceOAuthResponse = "{\n" |
| + " \"access_token\": \"00XXXXXXXXXXXX!ARMAQKg_lg_hGaRElvizVFBQHoCpvX8tzwGnROQ0_MDPXSceMeZHtm3JHkPmMhlgK0Km3rpJkwxwHInd_8o022KsDy.p4O.X\",\n" |
| + " \"is_readonly\": \"false\",\n" + " \"signature\": \"XXXXXXXXXX+MYU+JrOXPSbpHa2ihMpSvUqow1iTPh7Q=\",\n" |
| + " \"instance_url\": \"https://xxxxxxxx--xxxxxxx.cs5.my.salesforce.com\",\n" |
| + " \"id\": \"https://test.salesforce.com/id/00DO00000054tO8MAI/005O0000001cmmdIAA\",\n" + " \"token_type\": \"Bearer\",\n" |
| + " \"issued_at\": \"1442798068621\",\n" + " \"an_unrecognised_field\": \"foo\"\n" + "}"; |
| ObjectMapper mapper = JsonUtils.createObjectMapper(); |
| Exception e = null; |
| LoginToken token = null; |
| try { |
| token = mapper.readValue(salesforceOAuthResponse, LoginToken.class); |
| } catch (Exception ex) { |
| e = ex; |
| } |
| |
| // assert ObjectMapper deserialized the SF OAuth response and returned a |
| // valid token back |
| assertNotNull("An invalid token was returned", token); |
| // assert No exception was thrown during the JSON deserialization |
| // process |
| assertNull("Exception was thrown during JSON deserialisation", e); |
| // assert one of the token fields |
| assertEquals("false", token.getIsReadOnly()); |
| |
| } |
| |
| } |