integration-test (#8)
Co-authored-by: Philipp Hofer <philipp.hofer@mag.linz.at> Reviewed-on: #8
This commit was merged in pull request #8.
This commit is contained in:
@@ -21,8 +21,8 @@ jobs:
|
||||
- name: Build
|
||||
run: cargo build
|
||||
|
||||
- name: Backend tests
|
||||
run: cargo test --verbose
|
||||
- name: Tests
|
||||
run: cargo test --verbose -- --ignored
|
||||
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -10,4 +10,4 @@ reqwest = { version = "0.12", features = ["stream", "json", "rustls-tls"], defau
|
||||
serde_json = "1"
|
||||
chrono = "0.4"
|
||||
quick-xml = "0.38"
|
||||
serde = { version = "1.0.228", features = ["derive"] }
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
|
||||
34
tests/integration.rs
Normal file
34
tests/integration.rs
Normal file
@@ -0,0 +1,34 @@
|
||||
use player::Backend;
|
||||
|
||||
#[ignored]
|
||||
#[tokio::test]
|
||||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
let listener = tokio::net::TcpListener::bind("0.0.0.0:0").await?;
|
||||
let addr = listener.local_addr().unwrap();
|
||||
|
||||
// Start server in background task
|
||||
tokio::spawn(async move {
|
||||
if let Err(e) = player::start(
|
||||
"Test Feed".into(),
|
||||
"http://test.example".into(),
|
||||
"Test description".into(),
|
||||
vec!["Test Journal".into()],
|
||||
listener,
|
||||
Backend::Prod,
|
||||
)
|
||||
.await
|
||||
{
|
||||
eprintln!("Server failed to start: {e}");
|
||||
}
|
||||
});
|
||||
|
||||
// Allow server startup time
|
||||
tokio::time::sleep(tokio::time::Duration::from_millis(3000)).await;
|
||||
|
||||
// Verify route responds with success status
|
||||
let response = reqwest::get(format!("http://{addr}/")).await.unwrap();
|
||||
|
||||
assert_eq!(response.status(), 200);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user