From c08c329580a6f5e5da1ebba931461e7e7e47ba72 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Wed, 1 Mar 2017 01:03:18 +0100 Subject: Filter resources by the types they support. This avoid uselessly querying resources only to discover that they don't have a facade for the type. --- tests/clientapitest.cpp | 52 ++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) (limited to 'tests') diff --git a/tests/clientapitest.cpp b/tests/clientapitest.cpp index ea72ae0..008b408 100644 --- a/tests/clientapitest.cpp +++ b/tests/clientapitest.cpp @@ -122,6 +122,18 @@ public: class ClientAPITest : public QObject { Q_OBJECT + + template + std::shared_ptr > setupFacade(const QByteArray &identifier) + { + auto facade = TestDummyResourceFacade::registerFacade(identifier); + ResourceConfig::addResource(identifier, "dummyresource"); + QMap config = ResourceConfig::getConfiguration(identifier); + config.insert(Sink::ApplicationDomain::SinkResource::Capabilities::name, QVariant::fromValue(QByteArrayList() << Sink::ApplicationDomain::getTypeName())); + ResourceConfig::configureResource(identifier, config); + return facade; + } + private slots: void initTestCase() @@ -133,9 +145,8 @@ private slots: void testLoad() { - auto facade = TestDummyResourceFacade::registerFacade(); + auto facade = setupFacade("dummyresource.instance1"); facade->results << QSharedPointer::create("resource", "id", 0, QSharedPointer::create()); - ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); Sink::Query query; query.resourceFilter("dummyresource.instance1"); @@ -156,9 +167,8 @@ private slots: void testModelSingle() { - auto facade = TestDummyResourceFacade::registerFacade(); + auto facade = setupFacade("dummyresource.instance1"); facade->results << QSharedPointer::create("resource", "id", 0, QSharedPointer::create()); - ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); Sink::Query query; query.resourceFilter("dummyresource.instance1"); @@ -169,12 +179,11 @@ private slots: void testModelNested() { - auto facade = TestDummyResourceFacade::registerFacade(); + auto facade = setupFacade("dummyresource.instance1"); auto folder = QSharedPointer::create("resource", "id", 0, QSharedPointer::create()); auto subfolder = QSharedPointer::create("resource", "subId", 0, QSharedPointer::create()); subfolder->setParent("id"); facade->results << folder << subfolder; - ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); // Test Sink::Query query; @@ -191,12 +200,11 @@ private slots: void testModelSignals() { - auto facade = TestDummyResourceFacade::registerFacade(); + auto facade = setupFacade("dummyresource.instance1"); auto folder = QSharedPointer::create("resource", "id", 0, QSharedPointer::create()); auto subfolder = QSharedPointer::create("resource", "subId", 0, QSharedPointer::create()); subfolder->setParent("id"); facade->results << folder << subfolder; - ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); // Test Sink::Query query; @@ -212,13 +220,12 @@ private slots: void testModelNestedLive() { - auto facade = TestDummyResourceFacade::registerFacade(); + auto facade = setupFacade("dummyresource.instance1"); auto folder = QSharedPointer::create("dummyresource.instance1", "id", 0, QSharedPointer::create()); auto subfolder = QSharedPointer::create("dummyresource.instance1", "subId", 0, QSharedPointer::create()); subfolder->setParent("id"); facade->results << folder << subfolder; - ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); // Test Sink::Query query; @@ -266,12 +273,10 @@ private slots: void testLoadMultiResource() { - auto facade1 = TestDummyResourceFacade::registerFacade("dummyresource.instance1"); + auto facade1 = setupFacade("dummyresource.instance1"); facade1->results << QSharedPointer::create("resource1", "id", 0, QSharedPointer::create()); - auto facade2 = TestDummyResourceFacade::registerFacade("dummyresource.instance2"); + auto facade2 = setupFacade("dummyresource.instance2"); facade2->results << QSharedPointer::create("resource2", "id", 0, QSharedPointer::create()); - ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); - ResourceConfig::addResource("dummyresource.instance2", "dummyresource"); Sink::Query query; @@ -291,9 +296,8 @@ private slots: void testImperativeLoad() { - auto facade = TestDummyResourceFacade::registerFacade(); + auto facade = setupFacade("dummyresource.instance1"); facade->results << QSharedPointer::create("resource", "id", 0, QSharedPointer::create()); - ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); Sink::Query query; query.resourceFilter("dummyresource.instance1"); @@ -309,16 +313,15 @@ private slots: void testMultiresourceIncrementalLoad() { - auto facade1 = TestDummyResourceFacade::registerFacade("dummyresource.instance1"); + auto facade1 = setupFacade("dummyresource.instance1"); for (int i = 0; i < 4; i++) { facade1->results << QSharedPointer::create("resource1", "id" + QByteArray::number(i), 0, QSharedPointer::create()); } - auto facade2 = TestDummyResourceFacade::registerFacade("dummyresource.instance2"); + + auto facade2 = setupFacade("dummyresource.instance2"); for (int i = 0; i < 6; i++) { facade2->results << QSharedPointer::create("resource2", "id" + QByteArray::number(i), 0, QSharedPointer::create()); } - ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); - ResourceConfig::addResource("dummyresource.instance2", "dummyresource"); Sink::Query query; query.limit(2); @@ -344,8 +347,7 @@ private slots: void testCreateModifyDelete() { - auto facade = TestDummyResourceFacade::registerFacade(); - ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); + auto facade = setupFacade("dummyresource.instance1"); auto event = Sink::ApplicationDomain::Event::createEntity("dummyresource.instance1"); Sink::Store::create(event).exec().waitForFinished(); @@ -358,10 +360,9 @@ private slots: } void testMultiModify() { - auto facade = TestDummyResourceFacade::registerFacade(); + auto facade = setupFacade("dummyresource.instance1"); facade->results << QSharedPointer::create("dummyresource.instance1", "id1", 0, QSharedPointer::create()); facade->results << QSharedPointer::create("dummyresource.instance1", "id2", 0, QSharedPointer::create()); - ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); Sink::Query query; query.resourceFilter("dummyresource.instance1"); @@ -377,12 +378,11 @@ private slots: void testModelStress() { - auto facade = TestDummyResourceFacade::registerFacade(); + auto facade = setupFacade("dummyresource.instance1"); facade->runAsync = true; for (int i = 0; i < 100; i++) { facade->results << QSharedPointer::create("resource", "id" + QByteArray::number(i), 0, QSharedPointer::create()); } - ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); Sink::Query query; query.resourceFilter("dummyresource.instance1"); -- cgit v1.2.3