some new tests added

pull/93/merge
moneroexamples 6 years ago
parent cc5b2d8eff
commit f3c531cfb4

@ -40,11 +40,16 @@ include(MyUtils)
include(CodeCoverage)
APPEND_COVERAGE_COMPILER_FLAGS()
#set(COVERAGE_EXCLUDES
# '${CMAKE_SOURCE_DIR}/ext/*'
# 'asio/*'
# '${MONERO_SOURCE_DIR}/*'
# '${CMAKE_SOURCE_DIR}/tests/*')
set(COVERAGE_EXCLUDES
'${CMAKE_SOURCE_DIR}/ext/*'
'asio/*'
'${MONERO_SOURCE_DIR}/*'
'${CMAKE_SOURCE_DIR}/tests/*')
'${CMAKE_SOURCE_DIR}/ext/*'
'asio/*'
'${MONERO_SOURCE_DIR}/*')
find_package(Monero)
@ -163,8 +168,8 @@ target_link_libraries(${PROJECT_NAME} ${LIBRARIES})
#set(COVERAGE_EXCLUDES 'ext/*' '${MONERO_DIR}/*')
include_directories(
${CMAKE_SOURCE_DIR}/tests/googletest/googletest/include
${CMAKE_SOURCE_DIR}/tests/googletest/googlemock/include)
${CMAKE_SOURCE_DIR}/ext/googletest/googletest/include
${CMAKE_SOURCE_DIR}/ext/googletest/googlemock/include)
#include_directories(${MONERO_DIR}/tests/core_tests)

@ -164,9 +164,10 @@ function(SETUP_TARGET_FOR_COVERAGE)
# add baseline counters
COMMAND ${LCOV_PATH} -a ${Coverage_NAME}.base -a ${Coverage_NAME}.info --output-file ${Coverage_NAME}.total
COMMAND ${LCOV_PATH} --remove ${Coverage_NAME}.total '/usr/include/*' '/usr/lib/*' ${COVERAGE_EXCLUDES} --output-file ${PROJECT_BINARY_DIR}/${Coverage_NAME}.info.cleaned
COMMAND ${GENHTML_PATH} -o ${Coverage_NAME} ${PROJECT_BINARY_DIR}/${Coverage_NAME}.info.cleaned
COMMAND ${CMAKE_COMMAND} -E remove ${Coverage_NAME}.base ${Coverage_NAME}.total ${PROJECT_BINARY_DIR}/${Coverage_NAME}.info.cleaned
#COMMAND ${LCOV_PATH} --remove ${Coverage_NAME}.total '/usr/include/*' '/usr/lib/*' ${COVERAGE_EXCLUDES} --output-file ${PROJECT_BINARY_DIR}/${Coverage_NAME}.info.cleaned
#COMMAND ${GENHTML_PATH} -o ${Coverage_NAME} ${PROJECT_BINARY_DIR}/${Coverage_NAME}.info.cleaned
COMMAND ${GENHTML_PATH} -o ${Coverage_NAME} ${PROJECT_BINARY_DIR}/${Coverage_NAME}.info
#COMMAND ${CMAKE_COMMAND} -E remove ${Coverage_NAME}.base ${Coverage_NAME}.total ${PROJECT_BINARY_DIR}/${Coverage_NAME}.info.cleaned
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
DEPENDS ${Coverage_DEPENDENCIES}

@ -63,7 +63,7 @@ MysqlOutpus::exist(const string& output_public_key_str, XmrOutput& out)
if (outs.empty())
return false;
out = outs.at(0);
out = std::move(outs.at(0));
}
catch (std::exception& e)
@ -191,6 +191,7 @@ MysqlPayments::select_by_payment_id(const string& payment_id, vector<XmrPayment>
try
{
payments.clear();
query.storein(payments, payment_id);
return !payments.empty();
@ -234,7 +235,7 @@ MySqlAccounts::select(const string& address, XmrAccount& account)
if (!res.empty())
{
account = res.at(0);
account = std::move(res.at(0));
return true;
}

@ -89,7 +89,10 @@ void
MySqlConnector::_init()
{
if (!connect())
{
cerr << "Connection to Mysql failed!" << endl;
throw std::runtime_error("Connection to Mysql failed!");
}
}
}

@ -62,7 +62,7 @@ public:
Query
query(const std::string& qstr);
bool
virtual bool
connect();
bool
@ -73,7 +73,7 @@ public:
virtual ~MySqlConnector();
private:
protected:
void _init();

@ -1,5 +1,3 @@
#set(CMAKE_CXX_FLAGS_DEBUG "-fno-limit-debug-info")
#set(CMAKE_C_FLAGS_DEBUG "-fno-limit-debug-info")
macro(add_om_test _TEST_NAME)

@ -8,6 +8,7 @@
//#include "chaingen.h"
//#include "chaingen_tests_list.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
@ -21,6 +22,9 @@ using namespace mysqlpp;
using namespace cryptonote;
using namespace epee::string_tools;
using ::testing::AtLeast;
using ::testing::Return;
#define TX_FROM_HEX(hex_string) \
transaction tx; \
crypto::hash tx_hash; \
@ -87,7 +91,6 @@ TEST(MYSQL_CONNECTION, CantConnect)
xmreg::MySqlConnector::password = "wrong_pass";
xmreg::MySqlConnector::dbname = "wrong_name";
try
{
auto xmr_accounts = std::make_shared<xmreg::MySqlAccounts>();
@ -125,7 +128,7 @@ TEST(MYSQL_CONNECTION, CanConnect)
// it should not perform the connection again, bust just return true;
EXPECT_TRUE(xmr_accounts->get_connection()->connect());
}
catch(...)
catch(std::exception const& e)
{
FAIL();
}
@ -634,6 +637,22 @@ TEST_F(MYSQL_TEST, SelectOutputsForTransaction)
EXPECT_EQ(outputs.size(), 1);
EXPECT_EQ(outputs[0].out_pub_key, "a9d876b01eb972db944b78899b4c90c2b66a3c81fe04bf54ff61565f3db53419");
// now use output_exists
xmreg::XmrOutput out;
EXPECT_TRUE(xmr_accounts->output_exists(outputs[0].out_pub_key, out));
EXPECT_EQ(outputs[0], out);
// use output_exists on non-exisiting output
string non_exist_key {"a9d876b01eb972db944b78899b4c90c2b66a3c81fe04bf54ff61565f3db53000"};
EXPECT_FALSE(xmr_accounts->output_exists(non_exist_key, out));
}
TEST_F(MYSQL_TEST, InsertOneOutput)
@ -668,6 +687,7 @@ TEST_F(MYSQL_TEST, InsertOneOutput)
EXPECT_EQ(out_data2.timestamp, mock_output_data.timestamp);
}
TEST_F(MYSQL_TEST, TryToInsertSameOutputTwice)
{
ACC_FROM_HEX(owner_addr_5Ajfk);
@ -947,8 +967,24 @@ TEST_F(MYSQL_TEST, SelectPaymentForAccount)
EXPECT_FALSE(xmr_accounts->select(5555, payments));
}
TEST_F(MYSQL_TEST, SelectPaymentUsingPaymentID)
{
string exising_id {"e410eb43e14a28fb"};
vector<xmreg::XmrPayment> payments;
EXPECT_TRUE(xmr_accounts->select_payment_by_id(exising_id, payments));
EXPECT_EQ(payments.size(), 1);
string non_exising_id {"e410eb43e140000"};
EXPECT_FALSE(xmr_accounts->select_payment_by_id(non_exising_id, payments));
EXPECT_EQ(payments.size(), 0);
}
auto
make_mock_payment_data(string last_char_pub_key = "0")
{

Loading…
Cancel
Save