[Qt] add BIP70 DoS protection test

- this test required to make readPaymentRequestFromFile() public in order
  to be able to is it in paymentservertests.cpp
This commit is contained in:
Philip Kaufmann
2014-12-05 09:39:23 +01:00
parent 31f84944a5
commit 4333e26c8e
2 changed files with 18 additions and 1 deletions

View File

@@ -7,6 +7,7 @@
#include "optionsmodel.h"
#include "paymentrequestdata.h"
#include "random.h"
#include "util.h"
#include "utilstrencodings.h"
@@ -108,6 +109,17 @@ void PaymentServerTests::paymentServerTests()
r.paymentRequest.getMerchant(caStore, merchant);
QCOMPARE(merchant, QString(""));
// Just get some random data big enough to trigger BIP70 DoS protection
unsigned char randData[BIP70_MAX_PAYMENTREQUEST_SIZE + 1];
GetRandBytes(randData, sizeof(randData));
// Write data to a temp file:
QTemporaryFile tempFile;
tempFile.open();
tempFile.write((const char*)randData, sizeof(randData));
tempFile.close();
// Trigger BIP70 DoS protection
QCOMPARE(PaymentServer::readPaymentRequestFromFile(tempFile.fileName(), r.paymentRequest), false);
delete server;
}