116 lines
2.8 KiB
Rust
116 lines
2.8 KiB
Rust
mod integration_common;
|
|||
|
|
|
||
|
|
use integration_common::*;
|
||
|
|
use onspring::PagingRequest;
|
||
|
|
|
||
|
|
#[tokio::test]
|
||
|
|
#[ignore]
|
||
|
|
async fn list_apps_should_return_apps() {
|
||
|
|
let client = build_client();
|
||
|
|
let response = client.list_apps(None).await.unwrap();
|
||
|
|
|
||
|
|
assert!(response.total_records.unwrap() > 0);
|
||
|
|
let items = response.items.unwrap();
|
||
|
|
assert!(!items.is_empty());
|
||
|
|
|
||
|
|
for app in &items {
|
||
|
|
assert!(app.id > 0);
|
||
|
|
assert!(app.name.is_some());
|
||
|
|
assert!(app.href.is_some());
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#[tokio::test]
|
||
|
|
#[ignore]
|
||
|
|
async fn list_apps_should_respect_paging() {
|
||
|
|
let client = build_client();
|
||
|
|
let paging = PagingRequest {
|
||
|
|
page_number: 1,
|
||
|
|
page_size: 1,
|
||
|
|
};
|
||
|
|
let response = client.list_apps(Some(paging)).await.unwrap();
|
||
|
|
|
||
|
|
assert_eq!(response.page_number.unwrap(), 1);
|
||
|
|
assert_eq!(response.page_size.unwrap(), 1);
|
||
|
|
assert_eq!(response.items.unwrap().len(), 1);
|
||
|
|
}
|
||
|
|
|
||
|
|
#[tokio::test]
|
||
|
|
#[ignore]
|
||
|
|
async fn list_apps_should_fail_with_invalid_api_key() {
|
||
|
|
let client = build_client_with_key("invalid");
|
||
|
|
let result = client.list_apps(None).await;
|
||
|
|
assert!(result.is_err());
|
||
|
|
}
|
||
|
|
|
||
|
|
#[tokio::test]
|
||
|
|
#[ignore]
|
||
|
|
async fn get_app_should_return_app() {
|
||
|
|
let client = build_client();
|
||
|
|
let app_id = required_env_i32("TEST_APP_ID");
|
||
|
|
let app = client.get_app(app_id).await.unwrap();
|
||
|
|
|
||
|
|
assert_eq!(app.id, app_id);
|
||
|
|
assert!(app.name.is_some());
|
||
|
|
assert!(app.href.is_some());
|
||
|
|
}
|
||
|
|
|
||
|
|
#[tokio::test]
|
||
|
|
#[ignore]
|
||
|
|
async fn get_app_should_fail_with_invalid_api_key() {
|
||
|
|
let client = build_client_with_key("invalid");
|
||
|
|
let result = client.get_app(1).await;
|
||
|
|
assert!(result.is_err());
|
||
|
|
}
|
||
|
|
|
||
|
|
#[tokio::test]
|
||
|
|
#[ignore]
|
||
|
|
async fn get_app_should_fail_when_not_found() {
|
||
|
|
let client = build_client();
|
||
|
|
let result = client.get_app(0).await;
|
||
|
|
assert!(result.is_err());
|
||
|
|
}
|
||
|
|
|
||
|
|
#[tokio::test]
|
||
|
|
#[ignore]
|
||
|
|
async fn get_app_should_fail_when_no_access() {
|
||
|
|
let client = build_client();
|
||
|
|
let app_id = required_env_i32("TEST_APP_ID_NO_ACCESS");
|
||
|
|
let result = client.get_app(app_id).await;
|
||
|
|
assert!(result.is_err());
|
||
|
|
}
|
||
|
|
|
||
|
|
#[tokio::test]
|
||
|
|
#[ignore]
|
||
|
|
async fn batch_get_apps_should_return_apps() {
|
||
|
|
let client = build_client();
|
||
|
|
let app_ids = required_env_csv_i32("TEST_APP_IDS");
|
||
|
|
let response = client.batch_get_apps(&app_ids).await.unwrap();
|
||
|
|
|
||
|
|
let items = response.items.unwrap();
|
||
|
|
assert_eq!(items.len(), app_ids.len());
|
||
|
|
|
||
|
|
for app in &items {
|
||
|
|
assert!(app.id > 0);
|
||
|
|
assert!(app.name.is_some());
|
||
|
|
assert!(app.href.is_some());
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#[tokio::test]
|
||
|
|
#[ignore]
|
||
|
|
async fn batch_get_apps_should_fail_with_invalid_api_key() {
|
||
|
|
let client = build_client_with_key("invalid");
|
||
|
|
let result = client.batch_get_apps(&[1]).await;
|
||
|
|
assert!(result.is_err());
|
||
|
|
}
|
||
|
|
|
||
|
|
#[tokio::test]
|
||
|
|
#[ignore]
|
||
|
|
async fn batch_get_apps_should_fail_when_no_access() {
|
||
|
|
let client = build_client();
|
||
|
|
let app_ids = required_env_csv_i32("TEST_APP_IDS_NO_ACCESS");
|
||
|
|
let result = client.batch_get_apps(&app_ids).await;
|
||
|
|
assert!(result.is_err());
|
||
|
|
}
|