Explorar o código

Add a test to check e2e server test setup

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
Claudio Cambra %!s(int64=3) %!d(string=hai) anos
pai
achega
55cd79f4ef
Modificáronse 2 ficheiros con 63 adicións e 0 borrados
  1. 4 0
      test/CMakeLists.txt
  2. 59 0
      test/teste2eserversetup.cpp

+ 4 - 0
test/CMakeLists.txt

@@ -70,6 +70,10 @@ nextcloud_add_test(ShareModel)
 nextcloud_add_test(ShareeModel)
 nextcloud_add_test(SortedShareModel)
 
+if(BUILD_E2E_TESTS)
+    nextcloud_add_test(E2eServerSetup)
+endif()
+
 if( UNIX AND NOT APPLE )
     nextcloud_add_test(InotifyWatcher)
 endif(UNIX AND NOT APPLE)

+ 59 - 0
test/teste2eserversetup.cpp

@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) by Claudio Cambra <claudio.cambra@nextcloud.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ */
+
+#include <QObject>
+#include <QTest>
+#include <QSignalSpy>
+
+#include "gui/accountstate.h"
+
+#include "endtoendtestutils.h"
+
+class E2eServerSetupTest : public QObject
+{
+    Q_OBJECT
+
+public:
+    E2eServerSetupTest() = default;
+
+private:
+    EndToEndTestHelper _helper;
+
+private slots:
+    void initTestCase()
+    {
+        QSignalSpy accountReady(&_helper, &EndToEndTestHelper::accountReady);
+        _helper.startAccountConfig();
+        QVERIFY(accountReady.wait(3000));
+
+        const auto accountState = _helper.accountState();
+        QSignalSpy accountConnected(accountState.data(), &OCC::AccountState::isConnectedChanged);
+        QVERIFY(accountConnected.wait(30000));
+    }
+
+    void testBasicPropfind()
+    {
+        const auto account = _helper.account();
+        auto job = new OCC::PropfindJob(account, "/", this);
+        QSignalSpy result(job, &OCC::PropfindJob::result);
+
+        job->setProperties(QList<QByteArray>() << "getlastmodified");
+        job->start();
+
+        QVERIFY(result.wait(10000));
+    }
+};
+
+QTEST_MAIN(E2eServerSetupTest)
+#include "teste2eserversetup.moc"