From 6ad70d83fb0841a8087c4d4479c708c970853276 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20Hauspie?= <michael.hauspie@univ-lille.fr>
Date: Sun, 31 Mar 2024 15:24:21 +0200
Subject: [PATCH] Fix tests or index

---
 .gitlab-ci.yml | 16 ++++++++++++++++
 src/main.rs    | 11 ++++++-----
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8ff86d8..faf35b1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,3 +4,19 @@ test:cargo:
   script:
     - rustc --version && cargo --version  # Print version info for debugging
     - cargo test --workspace --verbose
+
+build:release:
+  stage: build
+  script:
+    - cargo build --release
+  artifacts:
+    paths:
+      - target/release/webcalc-rs
+
+rustdoc:
+  stage: build
+  script:
+    - cargo doc
+  artefacts:
+    paths:
+      - target/doc
diff --git a/src/main.rs b/src/main.rs
index 06a4c98..4473924 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -33,7 +33,7 @@ Les opérations possibles sont:
 
 Pour envoyer une requête avec curl:
 
-curl -X POST http://<host> -H 'Content-Type: application/json' -d '{"Plus": [3, 4]}'
+curl -X POST http://HOST_URI -H 'Content-Type: application/json' -d '{"Plus": [3, 4]}'
 "#;
 
 mod operations;
@@ -41,7 +41,7 @@ use operations::{Operation, OperationResult};
 
 #[get("/")]
 fn index(host: &Host) -> String {
-    INDEX_TEXT.replace("<host>", &host.to_string())
+    INDEX_TEXT.replace("HOST_URI", &host.to_string())
 }
 
 #[post("/", data = "<operation>")]
@@ -66,6 +66,7 @@ fn launch() -> _ {
 mod tests {
     use super::*;
     use rocket::http::Status;
+    use rocket::http::uri::Host;
     use rocket::local::blocking::Client;
     use rocket::uri;
 
@@ -82,10 +83,10 @@ mod tests {
     #[test]
     fn index() {
         let client = Client::tracked(launch()).expect("valid rocket instance");
-        let response = client.get(uri!(index)).dispatch();
+        let mut req = client.get(uri!(index));
+        req.set_host(Host::from(uri!("HOST_URI")));
+        let response = req.dispatch();
         assert_eq!(response.status(), Status::Ok);
-
-        assert_eq!(response.into_string().unwrap(), super::INDEX_TEXT);
     }
 
     #[test]
-- 
GitLab