Changeset View
Changeset View
Standalone View
Standalone View
autotests/drive/aboutfetchjobtest.cpp
Context not available. | |||||
17 | * You should have received a copy of the GNU Lesser General Public | 17 | * You should have received a copy of the GNU Lesser General Public | ||
---|---|---|---|---|---|
18 | * License along with this library. If not, see <https://www.gnu.org/licenses/>. | 18 | * License along with this library. If not, see <https://www.gnu.org/licenses/>. | ||
19 | */ | 19 | */ | ||
20 | 20 | #include <cstring> | |||
21 | #include <QObject> | 21 | #include <QObject> | ||
22 | #include <QTest> | 22 | #include <QTest> | ||
23 | 23 | | |||
Context not available. | |||||
32 | 32 | | |||
33 | using namespace KGAPI2; | 33 | using namespace KGAPI2; | ||
34 | 34 | | |||
35 | namespace { | ||||
36 | static const char *LimitedFieldTag = "limited fields"; | ||||
37 | } | ||||
38 | | ||||
35 | Q_DECLARE_METATYPE(QList<FakeNetworkAccessManager::Scenario>) | 39 | Q_DECLARE_METATYPE(QList<FakeNetworkAccessManager::Scenario>) | ||
40 | Q_DECLARE_METATYPE(KGAPI2::Drive::AboutPtr) | ||||
36 | 41 | | |||
37 | class AboutFetchJobTest : public QObject | 42 | class AboutFetchJobTest : public QObject | ||
38 | { | 43 | { | ||
Context not available. | |||||
43 | NetworkAccessManagerFactory::setFactory(new FakeNetworkAccessManagerFactory); | 48 | NetworkAccessManagerFactory::setFactory(new FakeNetworkAccessManagerFactory); | ||
44 | } | 49 | } | ||
45 | 50 | | |||
51 | void testFetch_data() | ||||
52 | { | ||||
53 | QTest::addColumn<QList<FakeNetworkAccessManager::Scenario>>("scenarios"); | ||||
54 | QTest::addColumn<KGAPI2::Drive::AboutPtr>("about"); | ||||
55 | | ||||
56 | QTest::newRow("") | ||||
57 | << QList<FakeNetworkAccessManager::Scenario>{ | ||||
58 | scenarioFromFile(QFINDTESTDATA("data/about_fetch_request.txt"), | ||||
59 | QFINDTESTDATA("data/about_fetch_response.txt")) | ||||
60 | } | ||||
61 | << aboutFromFile(QFINDTESTDATA("data/about.json")); | ||||
62 | | ||||
63 | QTest::newRow(LimitedFieldTag) | ||||
64 | << QList<FakeNetworkAccessManager::Scenario>{ | ||||
65 | scenarioFromFile(QFINDTESTDATA("data/about_fetch_limited_fields_request.txt"), | ||||
66 | QFINDTESTDATA("data/about_fetch_limited_fields_response.txt")) | ||||
67 | } | ||||
68 | << aboutFromFile(QFINDTESTDATA("data/about_limited_fields.json")); | ||||
69 | } | ||||
70 | | ||||
46 | void testFetch() | 71 | void testFetch() | ||
47 | { | 72 | { | ||
48 | FakeNetworkAccessManagerFactory::get()->setScenarios({ | 73 | QFETCH(QList<FakeNetworkAccessManager::Scenario>, scenarios); | ||
49 | scenarioFromFile(QFINDTESTDATA("data/about_fetch_request.txt"), | 74 | QFETCH(KGAPI2::Drive::AboutPtr, about); | ||
50 | QFINDTESTDATA("data/about_fetch_response.txt")) | | |||
51 | 75 | | |||
52 | }); | 76 | FakeNetworkAccessManagerFactory::get()->setScenarios(scenarios); | ||
53 | const auto about = aboutFromFile(QFINDTESTDATA("data/about.json")); | | |||
54 | 77 | | |||
55 | auto account = AccountPtr::create(QStringLiteral("MockAccount"), QStringLiteral("MockToken")); | 78 | auto account = AccountPtr::create(QStringLiteral("MockAccount"), QStringLiteral("MockToken")); | ||
56 | auto job = new Drive::AboutFetchJob(account, nullptr); | 79 | auto job = new Drive::AboutFetchJob(account, nullptr); | ||
80 | | ||||
81 | if (strcmp(LimitedFieldTag, QTest::currentDataTag()) == 0) { | ||||
82 | job->setFields({ Drive::About::Fields::Kind, Drive::About::Fields::PermissionId}); | ||||
83 | } | ||||
84 | | ||||
57 | QVERIFY(execJob(job)); | 85 | QVERIFY(execJob(job)); | ||
58 | const auto items = job->items(); | 86 | const auto items = job->items(); | ||
59 | QCOMPARE(items.count(), 1); | 87 | QCOMPARE(items.count(), 1); | ||
Context not available. |