Package com.streamreduce.rest.resource.admin

Source Code of com.streamreduce.rest.resource.admin.AdminUserVerificationResourceIT

/*
* Copyright 2012 Nodeable Inc
*
*    Licensed 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 com.streamreduce.rest.resource.admin;

import com.streamreduce.AbstractServiceTestCase;
import com.streamreduce.InvalidUserAliasException;
import com.streamreduce.core.dao.UserDAO;
import com.streamreduce.core.model.Account;
import com.streamreduce.core.model.User;
import com.streamreduce.core.service.UserService;
import com.streamreduce.rest.dto.response.ConstraintViolationExceptionResponseDTO;
import com.streamreduce.util.JSONObjectBuilder;
import org.apache.commons.lang.StringUtils;
import org.bson.types.ObjectId;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.util.ReflectionTestUtils;


import javax.ws.rs.core.Response;

import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

public class AdminUserVerificationResourceIT extends AbstractServiceTestCase {

    @Autowired
    AdminUserVerificationResource adminUserVerificationResource;
    @Autowired
    UserDAO userDAO;

    @Before
    public void setUp() throws Exception {
        super.setUp();

    }

    @Test
    public void testCompleteUserSignupProcess_BadAliasReturnsConstraintViolationDTO() throws Exception {
        User user = new User.Builder().username("maynard@toolband.com")
                .secretKey("aaaaaaaaa")
                .password("bbbbbbbb")
                .roles(userService.getAdminRoles())
                .build();
        user.setAccountOriginator(true);


        UserService mockUserService = mock(UserService.class);
        when(mockUserService.isAliasAvailable(any(Account.class), anyString())).thenReturn(true);
        when(mockUserService.getUserFromSignupKey(anyString(),anyString())).thenReturn(user);
        when(mockUserService.createUser(user)).thenThrow(new InvalidUserAliasException("worst test ever"));

        ReflectionTestUtils.setField(adminUserVerificationResource,"userService",mockUserService);

        Response response = adminUserVerificationResource.completeUserSignupProcess("", new ObjectId().toString(),
                new JSONObjectBuilder()
                        .add("password", "password")
                        .add("alias", "maynard@toolband.com")
                        .add("fullname", "MJK")
                        .add("accountName", "TOOLBAND").build());

        Assert.assertEquals(Response.Status.BAD_REQUEST.getStatusCode(),response.getStatus());
        ConstraintViolationExceptionResponseDTO dto = (ConstraintViolationExceptionResponseDTO) response.getEntity();
        Assert.assertTrue(StringUtils.isNotBlank(dto.getViolations().get("alias")));
    }

    @Test
    public void testCompleteUserInviteProcess_BadAliasReturnsConstraintViolationDTO() throws Exception {
        User user = new User.Builder().username("maynard@toolband.com")
                .secretKey("aaaaaaaaa")
                .password("bbbbbbbb")
                .roles(userService.getAdminRoles())
                .build();
        user.setAccountOriginator(true);


        UserService mockUserService = mock(UserService.class);
        when(mockUserService.isAliasAvailable(any(Account.class), anyString())).thenReturn(true);
        when(mockUserService.getUserFromInvite(anyString(),anyString())).thenReturn(user);
        when(mockUserService.createUser(user)).thenThrow(new InvalidUserAliasException("worst test ever"));

        ReflectionTestUtils.setField(adminUserVerificationResource,"userService",mockUserService);

        Response response = adminUserVerificationResource.completeUserInviteProcess("", new ObjectId().toString(),
                new JSONObjectBuilder()
                        .add("password", "password")
                        .add("alias", "maynard@toolband.com")
                        .add("fullname", "MJK")
                        .add("accountName", "TOOLBAND").build());

        Assert.assertEquals(Response.Status.BAD_REQUEST.getStatusCode(),response.getStatus());
        ConstraintViolationExceptionResponseDTO dto = (ConstraintViolationExceptionResponseDTO) response.getEntity();
        Assert.assertTrue(StringUtils.isNotBlank(dto.getViolations().get("alias")));
    }
}
TOP

Related Classes of com.streamreduce.rest.resource.admin.AdminUserVerificationResourceIT

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.