fix for msg/grp meta retrieval, added service string to == operator

overloads for grps and msgs
added gxs updated tests, was not included mistakenly in my last update
(5471)


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5472 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
chrisparker126 2012-08-25 17:01:13 +00:00
parent 9d42715cad
commit a6cb2b6a35
8 changed files with 900 additions and 126 deletions

View File

@ -22,6 +22,7 @@
this->mParentId = rGxsMeta.mParentId;
this->mPublishTs = rGxsMeta.mPublishTs;
this->mThreadId = rGxsMeta.mThreadId;
this->mServiceString = rGxsMeta.mServiceString;
}
@ -37,4 +38,5 @@
this->mPublishTs = rGxsMeta.mPublishTs;
this->mSubscribeFlags = rGxsMeta.mSubscribeFlags;
this->mGroupName = rGxsMeta.mGroupName;
this->mServiceString = rGxsMeta.mServiceString;
}

File diff suppressed because it is too large Load Diff

View File

@ -2,6 +2,12 @@
#define GENEXCHANGETESTER_H
#include "genexchangetestservice.h"
#include "gxs/rsgds.h"
#include "gxs/rsnxs.h"
#include "gxs/gxscoreserver.h"
bool operator ==(const RsMsgMetaData& lMeta, const RsMsgMetaData& rMeta);
bool operator ==(const RsDummyMsg& lMsg, const RsDummyMsg& rMsg);
/*!
* The job of the service tester is to send dummy msg items to the GenExchange service
@ -12,20 +18,24 @@ class GenExchangeTester
{
public:
void pollForToken(uint32_t);
void pollForToken(uint32_t, const RsTokReqOptionsV2& opts);
GenExchangeTester(GenExchangeTestService* testService);
GenExchangeTester();
bool testMsgSubmissionRetrieval();
bool testMsgIdRetrieval();
bool testSpecificMsgRetrieval();
bool testRelatedMsgIdRetrieval_Parents();
bool testRelatedMsgIdRetrieval_OrigMsgId();
bool testRelatedMsgIdRetrieval_Latest();
bool testSpecificMsgMetaRetrieval();
bool testGrpSubmissionRetrieval();
bool testSpecificGrpRetrieval();
bool testGrpIdRetrieval();
bool testGrpMetaRetrieval();
bool testGrpSubscribeRequest();
bool testGrpStatusRequest();
bool testGrpMetaModRequest();
bool testMsgMetaModRequest();
private:
@ -42,34 +52,45 @@ private:
void storeMsgMeta(GxsMsgMetaMap& msgMetaData);
void storeMsgIds(GxsMsgIdResult& msgIds);
void storeGrpData(GxsMsgDataMap& grpData);
void storeGrpMeta(GxsMsgMetaMap& grpMetaData);
void storeGrpId(GxsMsgIdResult& grpIds);
void storeGrpData(std::vector<RsGxsGrpItem*>& grpData);
void storeGrpMeta(std::list<RsGroupMetaData>& grpMetaData);
void storeGrpId(std::list<RsGxsGroupId>& grpIds);
void init(RsDummyGrp* grpItem);
void init(RsGroupMetaData&);
void init(RsDummyMsg* msgItem);
void init(RsMsgMetaData&);
void init(RsDummyGrp* grpItem) const;
void init(RsGroupMetaData&) const;
void init(RsDummyMsg* msgItem) const;
void init(RsMsgMetaData&) const;
bool operator ==(const RsMsgMetaData& lMeta, const RsMsgMetaData& rMeta);
bool operator ==(const RsDummyMsg& lMsg, const RsDummyMsg& rMsg);
uint32_t randNum() const;
private:
void createMsgs(std::vector<RsDummyMsg*>& msgs, int nMsgs) const;
private:
RsMutex mGenTestMutex;
GxsMsgDataMap mGrpDataOut, mGrpDataIn;
GxsMsgMetaMap mGrpMetaDataOut, mGrpMetaDataIn;
GxsMsgIdResult mGrpIdsOut, mGrpIdsIn;
std::vector<RsGxsGrpItem*> mGrpDataOut, mGrpDataIn;
std::list<RsGroupMetaData> mGrpMetaDataOut, mGrpMetaDataIn;
std::list<RsGxsGroupId> mGrpIdsOut, mGrpIdsIn;
GxsMsgDataMap mMsgDataOut, mMsgDataIn;
GxsMsgMetaMap mMsgMetaDataOut, mMsgMetaDataIn;
GxsMsgIdResult mMsgIdsOut, mMsgIdsIn;
std::vector<RsGxsGroupId> mRandGrpIds; // ids that exist to help group testing
private:
GenExchangeTestService* mTestService;
RsTokenServiceV2* mTokenService;
RsNetworkExchangeService* mNxs;
RsGeneralDataService* mDataStore;
GxsCoreServer mGxsCore;
};
#endif // GENEXCHANGETESTER_H

View File

@ -1,7 +1,7 @@
#include "genexchangetestservice.h"
GenExchangeTestService::GenExchangeTestService(RsGeneralDataService *dataServ, RsNetworkExchangeService * netService)
: RsGenExchange(dataServ, netService)
: RsGenExchange(dataServ, netService, new RsDummySerialiser(), RS_SERVICE_TYPE_DUMMY)
{
}

View File

@ -69,7 +69,7 @@ RsItem* RsDummySerialiser::deserialise(void *data, uint32_t *size)
uint32_t RsDummySerialiser::sizeDummyMsgItem(RsDummyMsg *item)
{
s += 8; // header
uint32_t s = 8; // header
s += GetTlvStringSize(item->msgData);
return s;
@ -135,7 +135,7 @@ RsDummyMsg * RsDummySerialiser::deserialiseDummyMsgItem(void *data, uint32_t
/* skip the header */
offset += 8;
ok &= GetTlvString(data, *size, offset, 1, item->msgData);
ok &= GetTlvString(data, *size, &offset, 1, item->msgData);
if (!ok)
{
@ -148,7 +148,7 @@ RsDummyMsg * RsDummySerialiser::deserialiseDummyMsgItem(void *data, uint32_t
uint32_t RsDummySerialiser::sizeDummyGrpItem(RsDummyGrp *item)
{
s += 8;
uint32_t s = 8;
s += GetTlvStringSize(item->grpData);
return s;
@ -212,7 +212,7 @@ RsDummyGrp * RsDummySerialiser::deserialiseDummyGrpItem(void *data, uint32_t
/* skip the header */
offset += 8;
ok &= GetTlvString(data, *size, offset, 1, item->grpData);
ok &= GetTlvString(data, *size, &offset, 1, item->grpData);
if (!ok)
{

View File

@ -11,7 +11,7 @@ class RsDummyNetService: public RsNetworkExchangeService
{
public:
RsNetworkExchangeService(){ return;}
RsDummyNetService(){ return;}
void setSyncAge(uint32_t age){}
@ -28,16 +28,16 @@ public:
uint16_t RS_SERVICE_TYPE_DUMMY = 0x01;
uint8_t RS_PKT_SUBTYPE_DUMMY_MSG = 0x02;
uint8_t RS_PKT_SUBTYPE_DUMMY_GRP = 0x03;
const uint16_t RS_SERVICE_TYPE_DUMMY = 0x01;
const uint8_t RS_PKT_SUBTYPE_DUMMY_MSG = 0x02;
const uint8_t RS_PKT_SUBTYPE_DUMMY_GRP = 0x03;
class RsDummyMsg : public RsGxsMsgItem
{
public:
RsDummyMsg() : RsGxsMsgItem(RS_SERVICE_TYPE_DUMMY, RS_PKT_SUBTYPE_DUMMY_MSG) { return; }
virtual RsDummyMsg() { return; }
virtual ~RsDummyMsg() { return; }
std::string msgData;
@ -48,8 +48,10 @@ public:
class RsDummyGrp : public RsGxsGrpItem
{
public:
RsDummyGrp() : RsGxsGrpItem(RS_SERVICE_TYPE_DUMMY, RS_PKT_SUBTYPE_DUMMY_GRP) { return; }
virtual RsDummyGrp() { return; }
virtual ~RsDummyGrp() { return; }
@ -69,7 +71,7 @@ public:
RsDummySerialiser()
:RsSerialType(RS_PKT_VERSION_SERVICE, RS_SERVICE_TYPE_DUMMY)
{ return; }
virtual ~RsGxsPhotoSerialiser() { return; }
virtual ~RsDummySerialiser() { return; }
uint32_t size(RsItem *item);
bool serialise (RsItem *item, void *data, uint32_t *size);

View File

@ -12,17 +12,16 @@ INITTEST();
int main()
{
GenExchangeTester tester;
CHECK(tester.testMsgSubmissionRetrieval()); REPORT("testMsgSubmissionRetrieval()");
CHECK(tester.testSpecificMsgMetaRetrieval()); REPORT("testSpecificMsgMetaRetrieval()");
CHECK(tester.testMsgIdRetrieval()); REPORT("tester.testMsgIdRetrieval()");
CHECK(tester.testRelatedMsgIdRetrieval_Parents()); REPORT("tester.testRelatedMsgIdRetrieval_Parents()");
CHECK(tester.testRelatedMsgIdRetrieval_OrigMsgId()); REPORT("tester.testRelatedMsgIdRetrieval_OrigMsgId()");
CHECK(tester.testRelatedMsgIdRetrieval_Latest()); REPORT("tester.testRelatedMsgIdRetrieval_Latest()");
GxsCoreServer gxsCore;
// create data service and dummy net service
RsDummyNetService dummyNet;
RsDataService dataStore("./", "testServiceDb", 0, NULL);
GenExchangeTestService testService;
gxsCore.addService(&testService);
createThread(gxsCore);
FINALREPORT("RsGenExchangeTest");
return 0;
}

View File

@ -1,10 +1,15 @@
TEMPLATE = app
TARGET = rsgenexcahnge_test
CONFIG += debug
win32 {
DEFINES *= WINDOWS_SYS \
WIN32 \
STATICLIB \
MINGW
# Switch on extra warnings
QMAKE_CFLAGS += -Wextra
QMAKE_CXXFLAGS += -Wextra
@ -25,13 +30,12 @@ win32 {
LIBS += C:\Development\Rs\v0.5-gxs-b1/libretroshare/libretroshare-build-desktop/lib/libretroshare.a
LIBS += C:\Development\Rs\v0.5-gxs-b1\openpgpsdk\openpgpsdk-build-desktop\lib\libops.a
LIBS += C:\Development\Libraries\sqlite\sqlite-autoconf-3070900\lib\libsqlite3.a
LIBS += -L"../../../lib"
LIBS += -L"../lib"
LIBS += -lssl -lcrypto -lgpgme -lpthreadGC2d -lminiupnpc -lz -lbz2
# added after bitdht
# LIBS += -lws2_32
LIBS += -luuid -lole32 -liphlpapi -lcrypt32-cygwin -lgdi32
LIBS += -lole32 -lwinmm
RC_FILE = gui/images/retroshare_win.rc
# export symbols for the plugins
#LIBS += -Wl,--export-all-symbols,--out-implib,lib/libretroshare-gui.a
@ -41,6 +45,11 @@ win32 {
GPG_ERROR_DIR = ../../../../lib/libgpg-error-1.7
GPGME_DIR = ../../../../lib/gpgme-1.1.8
INCLUDEPATH += . $${GPGME_DIR}/src $${GPG_ERROR_DIR}/src
SQLITE_DIR = ../../Libraries/sqlite/sqlite-autoconf-3070900
INCLUDEPATH += . \
$${SQLITE_DIR}
LIBS += -lws2_32