Skip to content
This repository was archived by the owner on Oct 18, 2021. It is now read-only.

Commit f1967c9

Browse files
authored
fix tests for mongodb 3.4 (#188)
1 parent 7aa11a0 commit f1967c9

File tree

3 files changed

+51
-32
lines changed

3 files changed

+51
-32
lines changed

.travis.yml

+17-9
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,34 @@ before_install:
66
- wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1204-3.0.14.tgz
77
- tar xvf mongodb-linux-x86_64-ubuntu1204-3.0.14.tgz
88
- mv mongodb-linux-x86_64-ubuntu1204-3.0.14 3.0.14
9-
- wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1204-3.2.11.tgz
10-
- tar xvf mongodb-linux-x86_64-ubuntu1204-3.2.11.tgz
11-
- mv mongodb-linux-x86_64-ubuntu1204-3.2.11 3.2.11
9+
- wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1204-3.2.12.tgz
10+
- tar xvf mongodb-linux-x86_64-ubuntu1204-3.2.12.tgz
11+
- mv mongodb-linux-x86_64-ubuntu1204-3.2.12 3.2.12
12+
- wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1204-3.4.2.tgz
13+
- tar xvf mongodb-linux-x86_64-ubuntu1204-3.4.2.tgz
14+
- mv mongodb-linux-x86_64-ubuntu1204-3.4.2 3.4.2
1215

1316
script:
14-
- mkdir -p ./data/db30 ./data/db30-ssl ./data/db32 ./data/db32-ssl
17+
- mkdir -p ./data/db30 ./data/db30-ssl ./data/db32 ./data/db32-ssl ./data/db34 ./data/db34-ssl
1518
- 3.0.14/bin/mongod --fork --dbpath ./data/db30 --syslog --port 27017
1619
- cargo build --verbose
1720
- cargo test --verbose
1821
- killall mongod
19-
- 3.2.11/bin/mongod --fork --dbpath ./data/db32 --syslog --port 27017
22+
- 3.2.12/bin/mongod --fork --dbpath ./data/db32 --syslog --port 27017
23+
- cargo test --verbose
24+
- killall mongod
25+
- 3.4.2/bin/mongod --fork --dbpath ./data/db34 --syslog --port 27017
2026
- cargo test --verbose
2127
- killall mongod
2228
- 3.0.14/bin/mongod --fork --dbpath ./data/db30 --syslog --port 27017
2329
- 3.0.14/bin/mongod --fork --dbpath ./data/db30-ssl --syslog --port 27018 --sslMode requireSSL --sslPEMKeyFile tests/ssl/server.pem --sslCAFile tests/ssl/ca.pem
2430
- cargo build --features ssl --verbose
2531
- cargo test --features ssl --verbose
2632
- killall mongod
27-
- 3.2.11/bin/mongod --fork --dbpath ./data/db32 --syslog --port 27017
28-
- 3.2.11/bin/mongod --fork --dbpath ./data/db32-ssl --syslog --port 27018 --sslMode requireSSL --sslPEMKeyFile tests/ssl/server.pem --sslCAFile tests/ssl/ca.pem
33+
- 3.2.12/bin/mongod --fork --dbpath ./data/db32 --syslog --port 27017
34+
- 3.2.12/bin/mongod --fork --dbpath ./data/db32-ssl --syslog --port 27018 --sslMode requireSSL --sslPEMKeyFile tests/ssl/server.pem --sslCAFile tests/ssl/ca.pem
35+
- cargo test --features ssl --verbose
36+
- killall mongod
37+
- 3.4.2/bin/mongod --fork --dbpath ./data/db34 --syslog --port 27017
38+
- 3.4.2/bin/mongod --fork --dbpath ./data/db34-ssl --syslog --port 27018 --sslMode requireSSL --sslPEMKeyFile tests/ssl/server.pem --sslCAFile tests/ssl/ca.pem
2939
- cargo test --features ssl --verbose
30-
31-

tests/apm/mod.rs

+17-7
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ fn read_first_non_monitor_line(file: &mut BufReader<&File>, line: &mut String) {
5454

5555
#[test]
5656
fn logging() {
57-
let _ = fs::remove_file("test_apm_log.txt");
57+
let _ = fs::remove_file("test_log.txt");
5858

5959
// Reset State
6060
let reset_client = Client::connect("localhost", 27017)
@@ -63,8 +63,11 @@ fn logging() {
6363
let reset_coll = reset_db.collection("logging");
6464
reset_coll.drop().unwrap();
6565

66+
let db_version = reset_db.version().unwrap();
67+
let v3_3 = db_version.major <= 3 && db_version.minor <= 3;
68+
6669
// Start logging
67-
let client_options = ClientOptions::with_log_file("test_apm_log.txt");
70+
let client_options = ClientOptions::with_log_file("test_log.txt");
6871
let client = Client::connect_with_options("localhost", 27017, client_options).unwrap();
6972

7073
let db = client.db("test-apm-mod");
@@ -86,7 +89,7 @@ fn logging() {
8689

8790
coll.find(Some(filter), None).unwrap();
8891

89-
let f = File::open("test_apm_log.txt").unwrap();
92+
let f = File::open("test_log.txt").unwrap();
9093
let mut file = BufReader::new(&f);
9194
let mut line = String::new();
9295

@@ -121,10 +124,17 @@ fn logging() {
121124
_id: 1 }] }\n",
122125
&line);
123126

127+
128+
let insert_one_line_start = if v3_3 {
129+
"COMMAND.insert_one 127.0.0.1:27017 COMPLETED: { ok: 1, n: 1 } ("
130+
} else {
131+
"COMMAND.insert_one 127.0.0.1:27017 COMPLETED: { n: 1, ok: 1 } ("
132+
};
133+
124134
// First insert completed
125135
line.clear();
126136
read_first_non_monitor_line(&mut file, &mut line);
127-
assert!(line.starts_with("COMMAND.insert_one 127.0.0.1:27017 COMPLETED: { ok: 1, n: 1 } ("));
137+
assert!(line.starts_with(insert_one_line_start));
128138
assert!(line.ends_with(" ns)\n"));
129139

130140
// Second insert started
@@ -137,7 +147,7 @@ fn logging() {
137147
// Second insert completed
138148
line.clear();
139149
read_first_non_monitor_line(&mut file, &mut line);
140-
assert!(line.starts_with("COMMAND.insert_one 127.0.0.1:27017 COMPLETED: { ok: 1, n: 1 } ("));
150+
assert!(line.starts_with(insert_one_line_start));
141151
assert!(line.ends_with(" ns)\n"));
142152

143153
// Third insert started
@@ -150,7 +160,7 @@ fn logging() {
150160
// Third insert completed
151161
line.clear();
152162
read_first_non_monitor_line(&mut file, &mut line);
153-
assert!(line.starts_with("COMMAND.insert_one 127.0.0.1:27017 COMPLETED: { ok: 1, n: 1 } ("));
163+
assert!(line.starts_with(insert_one_line_start));
154164
assert!(line.ends_with(" ns)\n"));
155165

156166
// Find command started
@@ -170,5 +180,5 @@ fn logging() {
170180

171181
coll.drop().unwrap();
172182

173-
fs::remove_file("test_apm_log.txt").unwrap();
183+
fs::remove_file("test_log.txt").unwrap();
174184
}

tests/client/db.rs

+17-16
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ fn create_collection() {
3535

3636
let db1 = if v3_1 { "test1" } else { "test2" };
3737
let db2 = if v3_1 { "test2" } else { "test1" };
38-
38+
3939
match results[result_size - 2].get("name") {
4040
Some(&Bson::String(ref name)) => assert_eq!(db1, name),
4141
_ => panic!("Expected BSON string!"),
@@ -82,7 +82,7 @@ fn list_collections() {
8282

8383
let db1 = if v3_1 { "test" } else { "test2" };
8484
let db2 = if v3_1 { "test2" } else { "test" };
85-
85+
8686
match results[result_size - 2].get("name") {
8787
Some(&Bson::String(ref name)) => assert_eq!(db1, name),
8888
_ => panic!("Expected BSON string!"),
@@ -101,6 +101,17 @@ fn create_and_get_users() {
101101
db.drop_database().unwrap();
102102
db.drop_all_users(None).unwrap();
103103

104+
let kevin_options = CreateUserOptions {
105+
custom_data: None,
106+
roles: vec![Role::All(AllDatabaseRole::Read)],
107+
write_concern: None,
108+
};
109+
110+
db.create_user("kevin",
111+
"ihavenosenseofhumorandthereforeihatepuns!",
112+
Some(kevin_options))
113+
.unwrap();
114+
104115
let saghm_options = CreateUserOptions {
105116
custom_data: Some(doc! { "foo" => "bar" }),
106117
roles: vec![Role::Single {
@@ -113,16 +124,6 @@ fn create_and_get_users() {
113124

114125
db.create_user("saghm", "ilikepuns!", Some(saghm_options)).unwrap();
115126

116-
let kevin_options = CreateUserOptions {
117-
custom_data: None,
118-
roles: vec![Role::All(AllDatabaseRole::Read)],
119-
write_concern: None,
120-
};
121-
122-
db.create_user("kevin",
123-
"ihavenosenseofhumorandthereforeihatepuns!",
124-
Some(kevin_options))
125-
.unwrap();
126127
db.create_user("val", "ilikeangularjs!", None).unwrap();
127128

128129
let user = db.get_user("saghm", None).unwrap();
@@ -163,13 +164,13 @@ fn create_and_get_users() {
163164
assert_eq!(users.len(), 3);
164165

165166
match users[0].get("user") {
166-
Some(&Bson::String(ref s)) => assert_eq!("saghm", s),
167-
_ => panic!("User isn't named 'saghm' but should be"),
167+
Some(&Bson::String(ref s)) => assert_eq!("kevin", s),
168+
_ => panic!("User isn't named 'kevin' but should be"),
168169
};
169170

170171
match users[1].get("user") {
171-
Some(&Bson::String(ref s)) => assert_eq!("kevin", s),
172-
_ => panic!("User isn't named 'kevin' but should be"),
172+
Some(&Bson::String(ref s)) => assert_eq!("saghm", s),
173+
_ => panic!("User isn't named 'saghm' but should be"),
173174
};
174175

175176
match users[2].get("user") {

0 commit comments

Comments
 (0)