Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
bwinf
medal
Commits
25f4dc60
Commit
25f4dc60
authored
Apr 03, 2019
by
Daniel Brüning
Browse files
Update main.rs: Added a status-check after every HTTP-request in the tests and some small fixes.
parent
c9f4c843
Pipeline
#60
passed with stage
in 4 minutes and 4 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/main.rs
View file @
25f4dc60
...
@@ -260,7 +260,7 @@ mod tests {
...
@@ -260,7 +260,7 @@ mod tests {
let
mut
test_user
=
conn
.new_session
();
let
mut
test_user
=
conn
.new_session
();
test_user
.username
=
Some
(
"testusr"
.into
());
test_user
.username
=
Some
(
"testusr"
.into
());
match
test_user
.set_password
(
"testpw"
)
{
match
test_user
.set_password
(
"testpw"
)
{
None
=>
p
rintln!
(
"FAILED! (Password hashing error
)"
),
None
=>
p
anic!
(
"Set Password did not work correctly.
)"
),
_
=>
{
_
=>
{
conn
.save_session
(
test_user
);
conn
.save_session
(
test_user
);
}
}
...
@@ -284,18 +284,25 @@ mod tests {
...
@@ -284,18 +284,25 @@ mod tests {
stop_tx
.send
(())
.unwrap
();
stop_tx
.send
(())
.unwrap
();
}
}
fn
login_
and_fn
(
port
:
u16
,
client
:
&
reqwest
::
Client
,
username
:
&
str
,
password
:
&
str
)
->
reqwest
::
Response
{
fn
login_
for_tests
(
port
:
u16
,
client
:
&
reqwest
::
Client
,
username
:
&
str
,
password
:
&
str
)
->
reqwest
::
Response
{
let
params
=
[(
"username"
,
username
),
(
"password"
,
password
)];
let
params
=
[(
"username"
,
username
),
(
"password"
,
password
)];
let
mut
resp
=
client
.post
(
&
format!
(
"http://localhost:{}/login"
,
port
))
let
mut
resp
=
client
.post
(
&
format!
(
"http://localhost:{}/login"
,
port
))
.form
(
&
params
)
.send
()
.unwrap
();
.form
(
&
params
)
.send
()
.unwrap
();
return
resp
;
return
resp
;
}
}
fn
check_status
(
resp
:
&
reqwest
::
Response
,
expected_status
:
reqwest
::
StatusCode
)
{
let
status
=
resp
.status
();
if
status
!=
&
expected_status
{
panic!
(
"Status is not (as expexted) {}. Status: {}"
,
expected_status
,
status
)
};
}
#[test]
#[test]
fn
start_server_and_check_request
()
{
fn
start_server_and_check_request
()
{
start_server_and_fn
(
8080
,
||{
start_server_and_fn
(
8080
,
||{
let
mut
resp
=
reqwest
::
get
(
"http://localhost:8080"
)
.unwrap
();
let
mut
resp
=
reqwest
::
get
(
"http://localhost:8080"
)
.unwrap
();
assert
!
(
resp
.status
()
.is_success
()
);
check_status
(
&
resp
,
reqwest
::
StatusCode
::
Ok
);
let
mut
content
=
String
::
new
();
let
mut
content
=
String
::
new
();
resp
.read_to_string
(
&
mut
content
);
resp
.read_to_string
(
&
mut
content
);
assert
!
(
content
.contains
(
"<h1>Jugendwettbewerb Informatik</h1>"
));
assert
!
(
content
.contains
(
"<h1>Jugendwettbewerb Informatik</h1>"
));
...
@@ -303,7 +310,7 @@ mod tests {
...
@@ -303,7 +310,7 @@ mod tests {
let
mut
resp
=
reqwest
::
get
(
"http://localhost:8080/contest"
)
.unwrap
();
let
mut
resp
=
reqwest
::
get
(
"http://localhost:8080/contest"
)
.unwrap
();
assert
!
(
resp
.status
()
.is_success
()
);
check_status
(
&
resp
,
reqwest
::
StatusCode
::
Ok
);
let
mut
content
=
String
::
new
();
let
mut
content
=
String
::
new
();
resp
.read_to_string
(
&
mut
content
);
resp
.read_to_string
(
&
mut
content
);
assert
!
(
content
.contains
(
"<h1>Wettbewerbe</h1>"
));
assert
!
(
content
.contains
(
"<h1>Wettbewerbe</h1>"
));
...
@@ -315,7 +322,8 @@ mod tests {
...
@@ -315,7 +322,8 @@ mod tests {
fn
check_login_wrong_credentials
()
{
fn
check_login_wrong_credentials
()
{
start_server_and_fn
(
8081
,
||{
start_server_and_fn
(
8081
,
||{
let
client
=
reqwest
::
Client
::
new
()
.unwrap
();
let
client
=
reqwest
::
Client
::
new
()
.unwrap
();
let
mut
resp
=
login_and_fn
(
8081
,
&
client
,
"nonexistingusername"
,
"wrongpassword"
);
let
mut
resp
=
login_for_tests
(
8081
,
&
client
,
"nonexistingusername"
,
"wrongpassword"
);
check_status
(
&
resp
,
reqwest
::
StatusCode
::
Ok
);
let
mut
content
=
String
::
new
();
let
mut
content
=
String
::
new
();
resp
.read_to_string
(
&
mut
content
);
resp
.read_to_string
(
&
mut
content
);
assert
!
(
content
.contains
(
"<h1>Login</h1>"
));
assert
!
(
content
.contains
(
"<h1>Login</h1>"
));
...
@@ -329,7 +337,9 @@ mod tests {
...
@@ -329,7 +337,9 @@ mod tests {
start_server_and_create_user_and_fn
(
8082
,
||{
start_server_and_create_user_and_fn
(
8082
,
||{
let
mut
client
=
reqwest
::
Client
::
new
()
.unwrap
();
let
mut
client
=
reqwest
::
Client
::
new
()
.unwrap
();
client
.redirect
(
reqwest
::
RedirectPolicy
::
custom
(|
attempt
|
{
attempt
.stop
()}));
client
.redirect
(
reqwest
::
RedirectPolicy
::
custom
(|
attempt
|
{
attempt
.stop
()}));
let
mut
resp
=
login_and_fn
(
8082
,
&
client
,
"testusr"
,
"testpw"
);
let
mut
resp
=
login_for_tests
(
8082
,
&
client
,
"testusr"
,
"testpw"
);
check_status
(
&
resp
,
reqwest
::
StatusCode
::
Found
);
let
mut
content
=
String
::
new
();
let
mut
content
=
String
::
new
();
resp
.read_to_string
(
&
mut
content
);
resp
.read_to_string
(
&
mut
content
);
assert
!
(
!
content
.contains
(
"Error"
));
assert
!
(
!
content
.contains
(
"Error"
));
...
@@ -342,6 +352,7 @@ mod tests {
...
@@ -342,6 +352,7 @@ mod tests {
let
newCookie
=
reqwest
::
header
::
Cookie
(
cookie
.to_vec
());
let
newCookie
=
reqwest
::
header
::
Cookie
(
cookie
.to_vec
());
let
mut
newResp
=
client
.get
(
"http://localhost:8082"
)
let
mut
newResp
=
client
.get
(
"http://localhost:8082"
)
.header
(
newCookie
)
.send
()
.unwrap
();
.header
(
newCookie
)
.send
()
.unwrap
();
check_status
(
&
newResp
,
reqwest
::
StatusCode
::
Ok
);
let
mut
newContent
=
String
::
new
();
let
mut
newContent
=
String
::
new
();
newResp
.read_to_string
(
&
mut
newContent
);
newResp
.read_to_string
(
&
mut
newContent
);
...
@@ -360,7 +371,8 @@ mod tests {
...
@@ -360,7 +371,8 @@ mod tests {
start_server_and_create_user_and_fn
(
8083
,
||{
start_server_and_create_user_and_fn
(
8083
,
||{
let
mut
client
=
reqwest
::
Client
::
new
()
.unwrap
();
let
mut
client
=
reqwest
::
Client
::
new
()
.unwrap
();
client
.redirect
(
reqwest
::
RedirectPolicy
::
custom
(|
attempt
|
{
attempt
.stop
()}));
client
.redirect
(
reqwest
::
RedirectPolicy
::
custom
(|
attempt
|
{
attempt
.stop
()}));
let
mut
resp
=
login_and_fn
(
8083
,
&
client
,
"testusr"
,
"testpw"
);
let
mut
resp
=
login_for_tests
(
8083
,
&
client
,
"testusr"
,
"testpw"
);
check_status
(
&
resp
,
reqwest
::
StatusCode
::
Found
);
let
header
=
resp
.headers
();
let
header
=
resp
.headers
();
let
setCookie
=
header
.get
::
<
reqwest
::
header
::
SetCookie
>
();
let
setCookie
=
header
.get
::
<
reqwest
::
header
::
SetCookie
>
();
...
@@ -370,8 +382,10 @@ mod tests {
...
@@ -370,8 +382,10 @@ mod tests {
let
newCookie
=
reqwest
::
header
::
Cookie
(
cookie
.to_vec
());
let
newCookie
=
reqwest
::
header
::
Cookie
(
cookie
.to_vec
());
let
mut
newResp
=
client
.get
(
"http://localhost:8082/logout"
)
let
mut
newResp
=
client
.get
(
"http://localhost:8082/logout"
)
.header
(
newCookie
.clone
())
.send
()
.unwrap
();
.header
(
newCookie
.clone
())
.send
()
.unwrap
();
check_status
(
&
newResp
,
reqwest
::
StatusCode
::
Found
);
newResp
=
client
.get
(
"http://localhost:8082"
)
newResp
=
client
.get
(
"http://localhost:8082"
)
.header
(
newCookie
)
.send
()
.unwrap
();
.header
(
newCookie
)
.send
()
.unwrap
();
check_status
(
&
newResp
,
reqwest
::
StatusCode
::
Ok
);
let
mut
newContent
=
String
::
new
();
let
mut
newContent
=
String
::
new
();
newResp
.read_to_string
(
&
mut
newContent
);
newResp
.read_to_string
(
&
mut
newContent
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment