#include "stdafx.h" #include "SiaCurl.h" #include "UnitTestConfig.h" using namespace Microsoft::VisualStudio::CppUnitTestFramework; using namespace Sia::Api; namespace UnitTests { TEST_CLASS(SiaCurl) { DAEMON_TEST() public: TEST_METHOD(InvalidHostConfiguration) { CSiaCurl s; s.SetHostConfig({ L"localhoss", 9980, TEST_SERVER_VERSION }); json result; SiaCurlError err = s.Get(L"/daemon/version", result); Assert::IsTrue(err == SiaCurlError::NoResponse); } TEST_METHOD(GetBasicTest) { CSiaCurl s; s.SetHostConfig({ TEST_SERVER_AND_PORT, TEST_SERVER_VERSION }); json result; SiaCurlError err = s.Get(L"/daemon/version", result); Assert::IsTrue(err == SiaCurlError::Success); } TEST_METHOD(EmptyHostConfigRequiredVersion) { CSiaCurl s; s.SetHostConfig({ TEST_SERVER_AND_PORT, L"" }); json result; SiaCurlError err = s.Get(L"/daemon/version", result); Assert::IsTrue(err == SiaCurlError::InvalidRequiredVersion); } TEST_METHOD(ServerVersionDoesNotMatchRequiredVersion) { CSiaCurl s; s.SetHostConfig({ TEST_SERVER_AND_PORT, L"ouaoeuaoeuaoeu" }); json result; SiaCurlError err = s.Get(L"/daemon/version", result); Assert::IsTrue(err == SiaCurlError::ServerVersionMismatch); } TEST_METHOD(MissingBeginningForwardSlash) { CSiaCurl s; s.SetHostConfig({ TEST_SERVER_AND_PORT, TEST_SERVER_VERSION }); json result; SiaCurlError err = s.Get(L"daemon/version", result); Assert::IsTrue(err == SiaCurlError::HttpError); } TEST_METHOD(InvalidCharactersInPath) { CSiaCurl s; s.SetHostConfig({ TEST_SERVER_AND_PORT, TEST_SERVER_VERSION }); json result; SiaCurlError err = s.Get(L"~~~^**()Z&%$#daemon/version", result); Assert::IsTrue(err == SiaCurlError::HttpError); } }; DEFINE_DAEMON(SiaCurl); }