Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 26409d10

Přidáno uživatelem Václav Hrabík před asi 2 roky(ů)

#10247 rozděláné testy, chybí otestovat controller, service je otestován

Zobrazit rozdíly:

src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/v2/model/User.java
34 34
    @Column(length = MAX_COLUMN_LENGTH)
35 35
    private String email;
36 36

  
37
    public User() {
38
    }
39

  
40
    public User(String name, String email) {
41
        this.name = name;
42
        this.email = email;
43
    }
37 44

  
38 45
    /**
39 46
     * Getter of id
src/test/java/cz/zcu/fav/kiv/antipatterndetectionapp/v2/controller/UserControllerTest.java
1
package cz.zcu.fav.kiv.antipatterndetectionapp.v2.controller;
2

  
3
import cz.zcu.fav.kiv.antipatterndetectionapp.v2.service.UserService;
4
import cz.zcu.fav.kiv.antipatterndetectionapp.v2.service.UserServiceImpl;
5
import org.junit.jupiter.api.extension.ExtendWith;
6
import org.springframework.beans.factory.annotation.Autowired;
7
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
8
import org.springframework.boot.test.mock.mockito.MockBean;
9
import org.springframework.security.test.context.support.WithMockUser;
10
import org.springframework.test.context.junit.jupiter.SpringExtension;
11
import org.springframework.test.web.servlet.MockMvc;
12

  
13
@ExtendWith(SpringExtension.class)
14
@WebMvcTest(value = UserController.class)
15
@WithMockUser
16
public class UserControllerTest {
17

  
18
    @Autowired
19
    private MockMvc mockMvc;
20

  
21
    @MockBean
22
    private UserService userService;
23

  
24

  
25
}
src/test/java/cz/zcu/fav/kiv/antipatterndetectionapp/v2/service/UserServiceImpTest.java
1
package cz.zcu.fav.kiv.antipatterndetectionapp.v2.service;
2

  
3
import cz.zcu.fav.kiv.antipatterndetectionapp.v2.model.User;
4
import cz.zcu.fav.kiv.antipatterndetectionapp.v2.repository.UserRepository;
5
import org.junit.jupiter.api.BeforeAll;
6
import org.junit.jupiter.api.Test;
7
import org.junit.jupiter.api.extension.ExtendWith;
8
import org.mockito.Mockito;
9
import org.springframework.beans.factory.annotation.Autowired;
10
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
11
import org.springframework.boot.test.context.TestConfiguration;
12
import org.springframework.boot.test.mock.mockito.MockBean;
13
import org.springframework.context.annotation.Bean;
14
import org.springframework.security.test.context.support.WithMockUser;
15
import org.springframework.test.context.junit.jupiter.SpringExtension;
16

  
17
import static org.junit.jupiter.api.Assertions.assertEquals;
18

  
19
/**
20
 * Tests for userServiceImplementation
21
 */
22
@ExtendWith(SpringExtension.class)
23
@WebMvcTest(value = UserServiceImpl.class)
24
@WithMockUser
25
public class UserServiceImpTest {
26

  
27
    @TestConfiguration
28
    static class UserServiceImlpTestConfig{
29

  
30
        @Bean
31
        public UserService userService() {
32
            return new UserServiceImpl();
33
        }
34
    }
35

  
36
    /**
37
     * UserService
38
     */
39
    @Autowired
40
    private UserService userService;
41

  
42
    /**
43
     * Mocked userRepository
44
     */
45
    @MockBean
46
    private UserRepository userRepository;
47

  
48
    /**
49
     * Mocked User
50
     */
51
    private final User mockUser = new User("test", "test@tt.cz");
52

  
53
    /**
54
     * Testing registration implementation
55
     * To test scenario where user want register which name, with more than 255 chars
56
     */
57
    @Test
58
    public void whenUserNameIsInvalid_thenReturnMSG() {
59
        User MUser = new User("asdasdasdasdasdasdasdafjsdjbfsdfbsdkncbsdcsdlkjdsbvjkhsbdvjhbxcvbjxcnvbxbjhdsbfjs" +
60
                "fsjdkdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
61
                "ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
62
                "ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
63
                "ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
64
                "dddddddddddhfbsdjfhbsdjhbjckvxjhbvjhfbsjhbdjhsbvhbsckjhvbsdhfbsdjhvbjxhcbvhbjhvbxcv", "tt@aa.ct");
65
        int foundCode = userService.registerUser(MUser);
66

  
67
        assertEquals(foundCode, 0);
68
    }
69

  
70
    /**
71
     * Testing registration implementation
72
     * To test scenario where user want register which email, with more than 255 chars
73
     */
74
    @Test
75
    public void whenUserEmailIsInvalid_thenReturnMSG() {
76
        User MUser = new User("Petr", "tasdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
77
                "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
78
                "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
79
                "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
80
                "ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddt@aa.ct");
81
        int foundCode = userService.registerUser(MUser);
82

  
83
        assertEquals(foundCode, 0);
84
    }
85

  
86
    /**
87
     * Testing registration implementation
88
     * To test scenario where user want register which name and email, with more than 255 chars
89
     */
90
    @Test
91
    public void whenUserNameAndEmailIsInvalid_thenReturnMSG() {
92
        User MUser = new User("asdasdasdasdasdasdasdafjsdjbfsdfbsdkncbsdcsdlkjdsbvjkhsbdvjhbxcvbjxcnvbxbjhdsbfjs" +
93
                "fsjdkdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
94
                "ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
95
                "ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
96
                "ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
97
                "dddddddddddhfbsdjfhbsdjhbjckvxjhbvjhfbsjhbdjhsbvhbsckjhvbsdhfbsdjhvbjxhcbvhbjhvbxcv", "tasddddddd" +
98
                "ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
99
                "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
100
                "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
101
                "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +
102
                "ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddt@aa.ct");
103
        int foundCode = userService.registerUser(MUser);
104

  
105
        assertEquals(foundCode, 0);
106
    }
107

  
108
    /**
109
     * Testing registration implementation
110
     * To test happy-day scenario where everything is ok
111
     */
112
    @Test
113
    public void whenUserIsNotRegistered_thenRegisterHim() {
114
        Mockito.when(userRepository.findByName("neni_v_DB")).thenReturn(null);
115

  
116
        int foundCode = userService.registerUser(mockUser);
117

  
118
        assertEquals(foundCode, 1);
119
    }
120

  
121
    /**
122
     * Testing registration implementation
123
     * To test scenario where user want to register which name, that is already taken
124
     */
125
    @Test
126
    public void whenUserIsRegistered_thenSendMSG() {
127
        Mockito.when(userRepository.findByName(mockUser.getName())).thenReturn(mockUser);
128

  
129
        int foundCode = userService.registerUser(mockUser);
130

  
131
        assertEquals(foundCode, -1);
132
    }
133

  
134
    /**
135
     * Testing login implementation
136
     * for happy-day scenario user is registered
137
     */
138
    @Test
139
    public void whenUserIsRegistered_thenLoggedHim() {
140

  
141
        Mockito.when(userRepository.findByName(mockUser.getName())).thenReturn(mockUser);
142

  
143
        String name = "test";
144
        int foundCode = userService.loginUser(new User(name, ""));
145

  
146
        assertEquals(foundCode, 1);
147
    }
148

  
149
    /**
150
     * Testing login implementation
151
     * for users name is not registered
152
     */
153
    @Test
154
    public void whenUserIsNotRegistered_thenReturnMSG() {
155

  
156
        Mockito.when(userRepository.findByName(mockUser.getName())).thenReturn(mockUser);
157

  
158
        String name = "notest";
159
        int foundCode = userService.loginUser(new User(name, ""));
160

  
161
        assertEquals(foundCode, 0);
162
    }
163
}

Také k dispozici: Unified diff