#include "stdafx.h" #include "CppUnitTest.h" #include "SiaApi.h" #include "UploadManager.h" #include "MockSiad.h" #include "SiaDriveConfig.h" #include "UnitTestConfig.h" using namespace Microsoft::VisualStudio::CppUnitTestFramework; using namespace Sia::Api; namespace UnitTests { TEST_CLASS(UnitTests) { private: const SiaHostConfig hostConfig = { TEST_SERVER_AND_PORT, TEST_SERVER_VERSION }; static std::unique_ptr siad; public: TEST_METHOD_INITIALIZE(Initialize) { // Always delete DB before next test CSiaDriveConfig config; ::DeleteFileA(config.GetRenter_UploadDbFilePath().c_str()); siad.reset(new CMockSiad(hostConfig)); } TEST_METHOD_CLEANUP(DestroyTest) { siad->Stop(); } TEST_CLASS_CLEANUP(DestroyClass) { siad->Stop(); } TEST_METHOD(AddOrUpdateNoExisting) { siad->Start(SiadTestType::UploadFile); try { CSiaDriveConfig driveConfig; CSiaCurl siaCurl(hostConfig); String version = siaCurl.GetServerVersion(); Assert::AreEqual(version.c_str(), TEST_SERVER_VERSION); // Connectivity test CUploadManager uploadManager(siaCurl, &driveConfig); uploadManager.AddOrUpdate(L"/test1/test.txt", L"./test1/test.txt"); } catch (SQLite::Exception e) { siad->Stop(); throw; } siad->Stop(); } }; std::unique_ptr UnitTests::siad; }