#include <ri.hpp>
#include <iostream>
#include <memory>
int main() {
std::cout << "=== Ri C++ Binding Test ===" << std::endl << std::endl;
int passed = 0;
int failed = 0;
std::cout << "Testing RiAppBuilder..." << std::endl;
try {
ri::RiAppBuilder builder;
std::cout << "[PASS] RiAppBuilder created" << std::endl;
passed++;
} catch (const ri::RiError& e) {
std::cout << "[FAIL] RiAppBuilder: " << e.what() << std::endl;
failed++;
}
std::cout << std::endl << "Testing RiAppBuilder chaining..." << std::endl;
try {
ri::RiAppBuilder builder1;
ri::RiAppBuilder builder2 = builder1.with_config("config.yaml");
std::cout << "[PASS] RiAppBuilder chaining creates new object" << std::endl;
passed++;
} catch (const ri::RiError& e) {
std::cout << "[FAIL] RiAppBuilder chaining: " << e.what() << std::endl;
failed++;
}
std::cout << std::endl << "Testing RiConfig..." << std::endl;
try {
ri::RiConfig config;
std::cout << "[PASS] RiConfig created" << std::endl;
passed++;
} catch (const ri::RiError& e) {
std::cout << "[FAIL] RiConfig: " << e.what() << std::endl;
failed++;
}
std::cout << std::endl << "Testing RiCacheModule..." << std::endl;
try {
ri::RiCacheConfig config;
ri::RiCacheModule cache(config);
std::cout << "[PASS] RiCacheModule created" << std::endl;
passed++;
} catch (const ri::RiError& e) {
std::cout << "[FAIL] RiCacheModule: " << e.what() << std::endl;
failed++;
}
std::cout << std::endl << "Testing RiAuthModule..." << std::endl;
try {
ri::RiAuthConfig config;
ri::RiAuthModule auth(config);
std::cout << "[PASS] RiAuthModule created" << std::endl;
passed++;
} catch (const ri::RiError& e) {
std::cout << "[FAIL] RiAuthModule: " << e.what() << std::endl;
failed++;
}
std::cout << std::endl << "Testing RiGateway..." << std::endl;
try {
ri::RiGateway gateway;
std::cout << "[PASS] RiGateway created" << std::endl;
passed++;
} catch (const ri::RiError& e) {
std::cout << "[FAIL] RiGateway: " << e.what() << std::endl;
failed++;
}
std::cout << std::endl << "Testing RiQueueModule..." << std::endl;
try {
ri::RiQueueConfig config;
ri::RiQueueModule queue(config);
std::cout << "[PASS] RiQueueModule created" << std::endl;
passed++;
} catch (const ri::RiError& e) {
std::cout << "[FAIL] RiQueueModule: " << e.what() << std::endl;
failed++;
}
std::cout << std::endl << "Testing RiServiceMesh..." << std::endl;
try {
ri::RiServiceMeshConfig config;
ri::RiServiceMesh mesh(config);
std::cout << "[PASS] RiServiceMesh created" << std::endl;
passed++;
} catch (const ri::RiError& e) {
std::cout << "[FAIL] RiServiceMesh: " << e.what() << std::endl;
failed++;
}
std::cout << std::endl << "Testing RiLogger..." << std::endl;
try {
ri::RiLogger logger;
std::cout << "[PASS] RiLogger created" << std::endl;
passed++;
} catch (const ri::RiError& e) {
std::cout << "[FAIL] RiLogger: " << e.what() << std::endl;
failed++;
}
std::cout << std::endl << "Testing RiFileSystem..." << std::endl;
try {
ri::RiFileSystem fs;
std::cout << "[PASS] RiFileSystem created" << std::endl;
passed++;
} catch (const ri::RiError& e) {
std::cout << "[FAIL] RiFileSystem: " << e.what() << std::endl;
failed++;
}
std::cout << std::endl << "=== Test Summary ===" << std::endl;
std::cout << "Passed: " << passed << std::endl;
std::cout << "Failed: " << failed << std::endl;
std::cout << "Total: " << (passed + failed) << std::endl;
return (failed > 0) ? 1 : 0;
}