Buffer credentialRawId;
Buffer userId;
unsigned transports = WAUTHN_TRANSPORT_NONE;
+ bool negative = false;
};
void DisplayQR(struct TestContents &contents)
{
std::string encoded(qr_contents);
- if ((static_cast<TestContents *>(data))->path.empty() || !qr_contents) {
+ auto testContents = static_cast<TestContents *>(data);
+ if (testContents->path.empty() || !qr_contents) {
std::cout << "qrcode_callback failed" << std::endl;
- std::cout << "QRcode path: " << static_cast<TestContents *>(data)->path << std::endl;
+ std::cout << "QRcode path: " << testContents->path << std::endl;
std::cout << "qr_contents: " << qr_contents << std::endl;
- (static_cast<TestContents *>(data))->status = false;
+ testContents->status = false;
return;
}
- GenerateAndDisplayQR(encoded, *static_cast<TestContents *>(data));
+ if (testContents->negative)
+ GenerateAndDisplayQR("https://tinyurl.com/5x2bcwjy", *testContents);
+ else
+ GenerateAndDisplayQR(encoded, *testContents);
}
Buffer ToBuffer(wauthn_const_buffer_s buff) { return Buffer{buff.data, buff.data + buff.size}; }
} // anonymous namespace
-int main()
+int main(int argc, char *argv[])
{
TestContents testContents = {true, "/tmp/qrcode.png", {}, {}, WAUTHN_TRANSPORT_NONE};
+
+ if (argc > 1 && std::string_view("-n") == argv[1])
+ testContents.negative = true;
+
int ret = 0;
if (Test(testContents))
std::cout << "Test passed.\n";