2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ===================================================================
8 * Unless otherwise specified, all software contained herein is licensed
9 * under the Apache License, Version 2.0 (the "License");
10 * you may not use this software except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
21 * Unless otherwise specified, all documentation contained herein is licensed
22 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23 * you may not use this documentation except in compliance with the License.
24 * You may obtain a copy of the License at
26 * https://creativecommons.org/licenses/by/4.0/
28 * Unless required by applicable law or agreed to in writing, documentation
29 * distributed under the License is distributed on an "AS IS" BASIS,
30 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31 * See the License for the specific language governing permissions and
32 * limitations under the License.
34 * ============LICENSE_END============================================
39 package org.onap.portal.controller;
41 import static org.junit.jupiter.api.Assertions.assertEquals;
43 import lombok.AllArgsConstructor;
44 import org.junit.jupiter.api.Test;
45 import org.junit.runner.RunWith;
46 import org.onap.portal.domain.dto.PortalRestResponse;
47 import org.onap.portal.domain.dto.PortalRestStatusEnum;
48 import org.onap.portal.domain.dto.ProfileDetail;
49 import org.springframework.beans.factory.annotation.Autowired;
50 import org.springframework.boot.test.context.SpringBootTest;
51 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
52 import org.springframework.test.context.TestPropertySource;
53 import org.springframework.test.context.junit4.SpringRunner;
55 @RunWith(SpringRunner.class)
57 @TestPropertySource(locations="classpath:test.properties")
58 class UserControllerTest {
59 private UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo", "XZa6pS1vC0qKXWtn9wcZWdLx61L0=");
61 private final UserController userController;
64 UserControllerTest(UserController userController) {
65 this.userController = userController;
69 void getLoggedinUser() {
70 ProfileDetail expectedDetails = new ProfileDetail();
71 expectedDetails.setFirstName("Demo");
72 expectedDetails.setLastName("User");
73 expectedDetails.setEmail("demo@openecomp.org");
74 expectedDetails.setLoginId("demo");
75 expectedDetails.setLoginPassword("*****");
76 PortalRestResponse<ProfileDetail> expected = new PortalRestResponse<>(PortalRestStatusEnum.OK, "success", expectedDetails);
78 PortalRestResponse<ProfileDetail> actual = userController.getLoggedinUser(principal);
80 assertEquals(expected.getStatus(), actual.getStatus());
81 assertEquals(expected.getMessage(), actual.getMessage());
82 assertEquals(expected.getResponse(), actual.getResponse());
86 void modifyLoggedinUserBlanklastName() {
87 ProfileDetail expectedDetails = new ProfileDetail();
88 expectedDetails.setFirstName("Demo");
89 expectedDetails.setLastName("");
90 expectedDetails.setEmail("demo@openecomp.org");
91 expectedDetails.setLoginId("demo");
92 expectedDetails.setLoginPassword("*****");
94 PortalRestResponse<String> actual = userController.modifyLoggedinUser(principal, expectedDetails);
95 PortalRestResponse<String> expected = new PortalRestResponse<>(PortalRestStatusEnum.ERROR, "lastName must not be blank", null);
96 assertEquals(expected, actual);
100 void modifyLoggedinUser() {
101 ProfileDetail expectedDetails = new ProfileDetail();
102 expectedDetails.setFirstName("Demo");
103 expectedDetails.setLastName("User");
104 expectedDetails.setEmail("demo@openecomp.org");
105 expectedDetails.setLoginId("demo");
106 expectedDetails.setLoginPassword("*****");
108 PortalRestResponse<String> actual = userController.modifyLoggedinUser(principal, expectedDetails);
109 PortalRestResponse<String> expected = new PortalRestResponse<>(PortalRestStatusEnum.OK, "success", null);
110 assertEquals(expected, actual);