60d5385ad2197c08a14111a12704099a00e6ce17
[so/libs.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package com.woorea.openstack.keystone.model.authentication;
22
23 import com.fasterxml.jackson.annotation.JsonInclude.Include;
24 import com.fasterxml.jackson.databind.DeserializationFeature;
25 import com.fasterxml.jackson.databind.ObjectMapper;
26 import com.fasterxml.jackson.databind.SerializationFeature;
27 import com.woorea.openstack.keystone.model.authentication.UsernamePassword.PasswordCredentials;
28
29 import org.junit.Assert;
30 import org.junit.Test;
31 import org.skyscreamer.jsonassert.JSONAssert;
32 import org.skyscreamer.jsonassert.JSONCompareMode;
33
34 public class UsernamePasswordTest {
35
36     private static final String EOL = System.lineSeparator();
37
38     private static final String JSON_FULL = "{" + EOL
39         + "  \"auth\" : {" + EOL
40         + "    \"tenantId\" : \"tenantid\"," + EOL
41         + "    \"tenantName\" : \"tenantname\"," + EOL
42         + "    \"passwordCredentials\" : {" + EOL
43         + "      \"username\" : \"username\"," + EOL
44         + "      \"password\" : \"password\"" + EOL
45         + "    }" + EOL
46         + "  }" + EOL
47         + "}";
48
49     private ObjectMapper objectMapper = new ObjectMapper()
50         .setSerializationInclusion(Include.NON_NULL)
51         .enable(SerializationFeature.INDENT_OUTPUT)
52         .enable(SerializationFeature.WRAP_ROOT_VALUE)
53         .enable(DeserializationFeature.UNWRAP_ROOT_VALUE)
54         .enable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
55         .enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
56
57     @Test
58     public void testSerialization() throws Exception {
59         System.out.println("CLASS: " + UsernamePassword.class.getName());
60         System.out.println("TEST JSON: " + JSON_FULL);
61         UsernamePassword usernamepassword = objectMapper.readValue(JSON_FULL, UsernamePassword.class);
62         String json = objectMapper.writeValueAsString(usernamepassword);
63         System.out.println("RE-SERIALIZED OBJECT: " + json);
64         JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
65     }
66
67     @Test
68     public void testMethods() throws Exception {
69         UsernamePassword usernamepassword = objectMapper.readValue(JSON_FULL, UsernamePassword.class);
70         usernamepassword.toString();
71         
72         PasswordCredentials passwordCredentials = usernamepassword.getPasswordCredentials();
73         Assert.assertNotNull(passwordCredentials);
74         usernamepassword.setPasswordCredentials(passwordCredentials);
75         
76         String tenantId = usernamepassword.getTenantId();
77         Assert.assertNotNull(tenantId);
78         usernamepassword.setTenantId(tenantId);
79         
80         String tenantName = usernamepassword.getTenantName();
81         Assert.assertNotNull(tenantName);
82         usernamepassword.setTenantName(tenantName);
83     }
84 }