Skip to content

Commit 7a3ea89

Browse files
committed
creates test
1 parent 60ad821 commit 7a3ea89

File tree

1 file changed

+148
-2
lines changed

1 file changed

+148
-2
lines changed

mongodb-driver/src/test/java/org/jnosql/diana/mongodb/document/MongoAuthenticationTest.java

Lines changed: 148 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,157 @@
1414
*/
1515
package org.jnosql.diana.mongodb.document;
1616

17-
import static org.junit.jupiter.api.Assertions.*;
17+
import com.mongodb.AuthenticationMechanism;
18+
import com.mongodb.MongoCredential;
19+
import org.jnosql.diana.api.JNoSQLException;
20+
import org.jnosql.diana.api.Settings;
21+
import org.junit.jupiter.api.Test;
22+
23+
import java.util.Arrays;
24+
import java.util.List;
25+
26+
import static com.mongodb.AuthenticationMechanism.GSSAPI;
27+
import static com.mongodb.AuthenticationMechanism.PLAIN;
28+
import static com.mongodb.AuthenticationMechanism.SCRAM_SHA_1;
29+
import static com.mongodb.AuthenticationMechanism.SCRAM_SHA_256;
30+
import static org.jnosql.diana.mongodb.document.MongoDBDocumentConfigurations.AUTHENTICATION_SOURCE;
31+
import static org.jnosql.diana.mongodb.document.MongoDBDocumentConfigurations.PASSWORD;
32+
import static org.jnosql.diana.mongodb.document.MongoDBDocumentConfigurations.USER;
33+
import static org.jnosql.diana.mongodb.document.MongoDBDocumentConfigurations.AUTHENTICATION_MECHANISM;
34+
import static org.junit.jupiter.api.Assertions.assertEquals;
35+
import static org.junit.jupiter.api.Assertions.assertThrows;
36+
import static org.junit.jupiter.api.Assertions.assertTrue;
1837

1938
class MongoAuthenticationTest {
20-
//deve criar um para cada tipo
39+
40+
//deve criar um para cada tipo
2141
//deve retornar erro quando os authen forem diferentes
2242
//deve retorna quando tiver um de cada
2343
//deve retornar quando tiver
44+
//quando for default
45+
46+
@Test
47+
public void shouldReturnErrorWhenTheNumberParameterIsInvalid() {
48+
Settings settings = Settings.builder().put(AUTHENTICATION_SOURCE.get(), "value")
49+
.build();
50+
51+
assertThrows(JNoSQLException.class, () -> MongoAuthentication.of(settings));
52+
53+
}
54+
55+
@Test
56+
public void shouldReturnOneAuthentication() {
57+
Settings settings = Settings.builder()
58+
.put(AUTHENTICATION_SOURCE.get(), "database")
59+
.put(PASSWORD.get(), "password")
60+
.put(USER.get(), "user")
61+
.build();
62+
63+
List<MongoCredential> credentials = MongoAuthentication.of(settings);
64+
assertEquals(1, credentials.size());
65+
MongoCredential credential = credentials.get(0);
66+
assertEquals("database", credential.getSource());
67+
assertTrue(Arrays.equals("password".toCharArray(), credential.getPassword()));
68+
assertEquals("user", credential.getUserName());
69+
assertEquals(PLAIN.getMechanismName(), credential.getMechanism());
70+
71+
}
72+
73+
@Test
74+
public void shouldReturnOneAuthenticationWithGSSAPI() {
75+
Settings settings = Settings.builder()
76+
.put(AUTHENTICATION_SOURCE.get(), "database")
77+
.put(PASSWORD.get(), "password")
78+
.put(USER.get(), "user")
79+
.put(AUTHENTICATION_MECHANISM.get(), "GSSAPI")
80+
.build();
81+
82+
List<MongoCredential> credentials = MongoAuthentication.of(settings);
83+
assertEquals(1, credentials.size());
84+
MongoCredential credential = credentials.get(0);
85+
assertEquals("$external", credential.getSource());
86+
assertEquals("user", credential.getUserName());
87+
assertEquals(GSSAPI.getMechanismName(), credential.getMechanism());
88+
89+
}
90+
91+
@Test
92+
public void shouldReturnOneAuthenticationWithMongoX509() {
93+
Settings settings = Settings.builder()
94+
.put(AUTHENTICATION_SOURCE.get(), "database")
95+
.put(PASSWORD.get(), "password")
96+
.put(USER.get(), "user")
97+
.put(AUTHENTICATION_MECHANISM.get(), "MONGODB-X509")
98+
.build();
99+
100+
List<MongoCredential> credentials = MongoAuthentication.of(settings);
101+
assertEquals(1, credentials.size());
102+
MongoCredential credential = credentials.get(0);
103+
assertEquals("$external", credential.getSource());
104+
assertEquals("user", credential.getUserName());
105+
assertEquals(AuthenticationMechanism.MONGODB_X509.getMechanismName(), credential.getMechanism());
106+
}
107+
108+
@Test
109+
public void shouldReturnOneAuthenticationWithSCRAMSHA1() {
110+
Settings settings = Settings.builder()
111+
.put(AUTHENTICATION_SOURCE.get(), "database")
112+
.put(PASSWORD.get(), "password")
113+
.put(USER.get(), "user")
114+
.put(AUTHENTICATION_MECHANISM.get(), "SCRAM-SHA-1")
115+
.build();
116+
117+
List<MongoCredential> credentials = MongoAuthentication.of(settings);
118+
assertEquals(1, credentials.size());
119+
MongoCredential credential = credentials.get(0);
120+
assertEquals("database", credential.getSource());
121+
assertTrue(Arrays.equals("password".toCharArray(), credential.getPassword()));
122+
assertEquals("user", credential.getUserName());
123+
assertEquals(SCRAM_SHA_1.getMechanismName(), credential.getMechanism());
124+
}
125+
126+
@Test
127+
public void shouldReturnOneAuthenticationWithSCRAMSHA256() {
128+
Settings settings = Settings.builder()
129+
.put(AUTHENTICATION_SOURCE.get(), "database")
130+
.put(PASSWORD.get(), "password")
131+
.put(USER.get(), "user")
132+
.put(AUTHENTICATION_MECHANISM.get(), "SCRAM-SHA-256")
133+
.build();
134+
135+
List<MongoCredential> credentials = MongoAuthentication.of(settings);
136+
assertEquals(1, credentials.size());
137+
MongoCredential credential = credentials.get(0);
138+
assertEquals("database", credential.getSource());
139+
assertTrue(Arrays.equals("password".toCharArray(), credential.getPassword()));
140+
assertEquals("user", credential.getUserName());
141+
assertEquals(SCRAM_SHA_256.getMechanismName(), credential.getMechanism());
142+
}
143+
144+
@Test
145+
public void shouldReturnAuthentications() {
146+
Settings settings = Settings.builder()
147+
.put(AUTHENTICATION_SOURCE.get()+".1", "database")
148+
.put(PASSWORD.get()+".1", "password")
149+
.put(USER.get()+".1", "user")
150+
.put(AUTHENTICATION_SOURCE.get()+".2", "database-2")
151+
.put(PASSWORD.get()+".2", "password-2")
152+
.put(USER.get()+".2", "user-2")
153+
.build();
154+
155+
List<MongoCredential> credentials = MongoAuthentication.of(settings);
156+
assertEquals(2, credentials.size());
157+
MongoCredential credential = credentials.get(0);
158+
assertEquals("database", credential.getSource());
159+
assertTrue(Arrays.equals("password".toCharArray(), credential.getPassword()));
160+
assertEquals("user", credential.getUserName());
161+
assertEquals(PLAIN.getMechanismName(), credential.getMechanism());
162+
163+
credential = credentials.get(1);
164+
assertEquals("database-2", credential.getSource());
165+
assertTrue(Arrays.equals("password-2".toCharArray(), credential.getPassword()));
166+
assertEquals("user-2", credential.getUserName());
167+
assertEquals(PLAIN.getMechanismName(), credential.getMechanism());
168+
169+
}
24170
}

0 commit comments

Comments
 (0)