mirror of
https://github.com/vicliu624/trail-mate.git
synced 2026-11-11 14:47:39 +00:00
37 lines
2.8 KiB
C++
37 lines
2.8 KiB
C++
#include "track_sharing/upload_paths.h"
|
|
#include <cassert>
|
|
#include <string>
|
|
int main()
|
|
{
|
|
using namespace track_sharing;
|
|
uint8_t id[16];
|
|
for (unsigned i = 0; i < 16; ++i) id[i] = uint8_t(i * 17);
|
|
char path[64];
|
|
const std::string base = "/trailmate/web-upload/00112233445566778899aabbccddeeff";
|
|
assert(resolveUploadPath(id, 16, UploadFile::Candidate, path, sizeof(path)) && path == base + ".kml");
|
|
assert(resolveUploadPath(id, 16, UploadFile::JournalA, path, sizeof(path)) && path == base + ".uja");
|
|
assert(resolveUploadPath(id, 16, UploadFile::JournalB, path, sizeof(path)) && path == base + ".ujb");
|
|
const auto saved = std::string(path);
|
|
assert(uploadByteLimit(UploadKind::Kml) == 8388608 && uploadByteLimit(UploadKind::Manifest) == 4096);
|
|
assert(uploadByteLimit(static_cast<UploadKind>(5)) == 0);
|
|
assert(uploadByteLimit(UploadKind::IpReceipt) == 1100);
|
|
assert(uploadDirectory(static_cast<UploadKind>(5)) == nullptr);
|
|
const std::string receipt = "/trailmate/web-receipt/00112233445566778899aabbccddeeff";
|
|
assert(resolveUploadPath(id, 16, UploadFile::Candidate, path, sizeof(path), UploadKind::IpReceipt) && path == receipt + ".cmp");
|
|
assert(resolveUploadPath(id, 16, UploadFile::JournalA, path, sizeof(path), UploadKind::IpReceipt) && path == receipt + ".uja");
|
|
assert(resolveUploadPath(id, 16, UploadFile::JournalB, path, sizeof(path), UploadKind::IpReceipt) && path == receipt + ".ujb");
|
|
assert(resolveUploadPath(id, 16, UploadFile::JournalB, path, sizeof(path)) && path == saved);
|
|
assert(!resolveUploadPath(id, 16, UploadFile::Candidate, path, sizeof(path), static_cast<UploadKind>(5)) && path == saved);
|
|
const std::string manifest = "/trailmate/web-manifest/00112233445566778899aabbccddeeff";
|
|
assert(resolveUploadPath(id, 16, UploadFile::Candidate, path, sizeof(path), UploadKind::Manifest) && path == manifest + ".cmp");
|
|
assert(resolveUploadPath(id, 16, UploadFile::JournalA, path, sizeof(path), UploadKind::Manifest) && path == manifest + ".uja");
|
|
assert(resolveUploadPath(id, 16, UploadFile::JournalB, path, sizeof(path), UploadKind::Manifest) && path == manifest + ".ujb");
|
|
assert(resolveUploadPath(id, 16, UploadFile::JournalB, path, sizeof(path)) && path == saved);
|
|
assert(!resolveUploadPath(id, 15, UploadFile::Candidate, path, sizeof(path)) && path == saved);
|
|
assert(!resolveUploadPath(id, 16, UploadFile::Candidate, path, 63) && path == saved);
|
|
assert(!resolveUploadPath(id, 16, static_cast<UploadFile>(3), path, sizeof(path)) && path == saved);
|
|
assert(!resolveUploadPath(reinterpret_cast<uint8_t*>(path + 10), 16, UploadFile::Candidate, path, sizeof(path)) && path == saved);
|
|
std::memset(id, 0, sizeof(id));
|
|
assert(!resolveUploadPath(id, 16, UploadFile::Candidate, path, sizeof(path)) && path == saved);
|
|
}
|