3 changed files with 137 additions and 117 deletions
@ -0,0 +1,52 @@
|
||||
#include <sstream> |
||||
#include <vector> |
||||
|
||||
class TestTorrent {}; |
||||
|
||||
class TestRequest { |
||||
public: |
||||
std::stringstream content; |
||||
}; |
||||
|
||||
class TestResponse : public std::stringstream { |
||||
public: |
||||
std::string buffer; |
||||
std::string string(); |
||||
std::string message(); |
||||
std::string code(); |
||||
}; |
||||
|
||||
class TestSessionSettings { |
||||
public: |
||||
int download_rate_limit = 1; |
||||
int upload_rate_limit = 2; |
||||
int listen_interfaces = 3; |
||||
int enable_dht = 4; |
||||
bool enable_dht_ = true; |
||||
int download_rate_limit_ = 0; |
||||
int upload_rate_limit_ = 0; |
||||
std::string listen_interfaces_ = "0.0.0.0:0"; |
||||
void set_bool(int type, int value); |
||||
void set_int(int type, int value); |
||||
void set_str(int type, std::string value); |
||||
int get_int(int type) const; |
||||
bool get_bool(int type); |
||||
std::string get_str(int type); |
||||
|
||||
}; |
||||
|
||||
class TestTorrentSession { |
||||
public: |
||||
bool valid = false; |
||||
bool paused = false; |
||||
TestSessionSettings settings_; |
||||
bool is_valid(); |
||||
TestSessionSettings get_settings(); |
||||
bool is_paused() const; |
||||
void pause(); |
||||
void resume(); |
||||
int listen_port(); |
||||
bool is_dht_running() const; |
||||
std::vector<TestTorrent> get_torrents() const; |
||||
void apply_settings(TestSessionSettings settings); |
||||
}; |
||||
@ -0,0 +1,83 @@
|
||||
#include <SessionContext.hpp> |
||||
#include <sstream> |
||||
#include <vector> |
||||
|
||||
std::string TestResponse::string() { |
||||
buffer = str(); |
||||
return buffer; |
||||
} |
||||
std::string TestResponse::message() { |
||||
if (buffer.empty()) |
||||
string(); |
||||
auto msg = buffer.substr(13, buffer.find('\r') - 13); |
||||
return msg; |
||||
} |
||||
std::string TestResponse::code() { |
||||
if (buffer.empty()) |
||||
string(); |
||||
return buffer.substr(9, 3); |
||||
} |
||||
void TestSessionSettings::set_int(int type, int value) { |
||||
if (type == download_rate_limit) { |
||||
download_rate_limit_ = value; |
||||
} |
||||
if (type == upload_rate_limit) { |
||||
upload_rate_limit_ = value; |
||||
} |
||||
if (type == enable_dht) { |
||||
enable_dht_ = value; |
||||
} |
||||
} |
||||
void TestSessionSettings::set_bool(int type, int value) { |
||||
set_int(type, value); |
||||
} |
||||
int TestSessionSettings::get_int(int type) const { |
||||
if (type == download_rate_limit) { |
||||
return download_rate_limit_; |
||||
} |
||||
if (type == upload_rate_limit) { |
||||
return upload_rate_limit_; |
||||
} |
||||
if (type == enable_dht) { |
||||
return enable_dht_; |
||||
} |
||||
return 0; |
||||
}; |
||||
bool TestSessionSettings::get_bool(int type) { return get_int(type); } |
||||
std::string TestSessionSettings::get_str(int type) { |
||||
if (type == listen_interfaces) { |
||||
return listen_interfaces_; |
||||
} |
||||
} |
||||
void TestSessionSettings::set_str(int type, std::string value) { |
||||
if (type == listen_interfaces) { |
||||
listen_interfaces_ = value; |
||||
} |
||||
} |
||||
bool TestTorrentSession::is_valid() { |
||||
return valid; |
||||
} |
||||
TestSessionSettings TestTorrentSession::get_settings() { |
||||
return settings_; |
||||
} |
||||
bool TestTorrentSession::is_paused() const { |
||||
return paused; |
||||
} |
||||
void TestTorrentSession::pause() { |
||||
paused = true; |
||||
} |
||||
void TestTorrentSession::resume() { |
||||
paused = false; |
||||
} |
||||
int TestTorrentSession::listen_port() { |
||||
return std::stoi(settings_.listen_interfaces_.substr(8, settings_.listen_interfaces_.size() - 8)); |
||||
} |
||||
bool TestTorrentSession::is_dht_running() const { |
||||
return settings_.enable_dht_; |
||||
} |
||||
std::vector<TestTorrent> TestTorrentSession::get_torrents() const { |
||||
return std::vector<TestTorrent>(); |
||||
} |
||||
void TestTorrentSession::apply_settings(TestSessionSettings settings) { |
||||
settings_ = settings; |
||||
}; |
||||
Loading…
Reference in new issue