mirror of
https://github.com/overte-org/overte.git
synced 2025-04-30 02:42:46 +02:00
132 lines
No EOL
4.2 KiB
C++
132 lines
No EOL
4.2 KiB
C++
//
|
|
// TestRailInterface.h
|
|
//
|
|
// Created by Nissim Hadar on 6 Jul 2018.
|
|
// Copyright 2013 High Fidelity, Inc.
|
|
//
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
//
|
|
|
|
#ifndef hifi_test_testrail_interface_h
|
|
#define hifi_test_testrail_interface_h
|
|
|
|
#include "BusyWindow.h"
|
|
#include "TestRailTestCasesSelectorWindow.h"
|
|
#include "TestRailRunSelectorWindow.h"
|
|
#include "TestRailResultsSelectorWindow.h"
|
|
|
|
#include <QDirIterator>
|
|
#include <QtXml/QDomDocument>
|
|
#include <QProcess>
|
|
#include <QString>
|
|
|
|
#include "PythonInterface.h"
|
|
|
|
class TestRailInterface : public QObject {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
TestRailInterface();
|
|
|
|
void createTestSuiteXML(const QString& testDirectory,
|
|
const QString& outputDirectory,
|
|
const QString& userGitHub,
|
|
const QString& branchGitHub);
|
|
|
|
void createTestSuitePython(const QString& testDirectory,
|
|
const QString& outputDirectory,
|
|
const QString& userGitHub,
|
|
const QString& branchGitHub);
|
|
|
|
QDomElement processDirectoryXML(const QString& directory,
|
|
const QString& useGitHubr,
|
|
const QString& branchGitHub,
|
|
const QDomElement& element);
|
|
|
|
QDomElement processTestXML(const QString& fullDirectory,
|
|
const QString& test,
|
|
const QString& userGitHub,
|
|
const QString& branchGitHub,
|
|
const QDomElement& element);
|
|
|
|
void processTestPython(const QString& fullDirectory,
|
|
QTextStream& stream,
|
|
const QString& userGitHub,
|
|
const QString& branchGitHub);
|
|
|
|
void getReleasesFromTestRail();
|
|
void getTestSectionsFromTestRail();
|
|
void getRunsFromTestRail();
|
|
|
|
void createTestRailDotPyScript();
|
|
void createStackDotPyScript();
|
|
|
|
bool requestTestRailTestCasesDataFromUser();
|
|
bool requestTestRailRunDataFromUser();
|
|
bool requestTestRailResultsDataFromUser();
|
|
|
|
void createAddTestCasesPythonScript(const QString& testDirectory, const QString& userGitHub, const QString& branchGitHub);
|
|
|
|
void processDirectoryPython(const QString& directory,
|
|
QTextStream& stream,
|
|
const QString& userGitHub,
|
|
const QString& branchGitHub);
|
|
|
|
bool isAValidTestDirectory(const QString& directory);
|
|
|
|
QString getObject(const QString& path);
|
|
|
|
void updateReleasesComboData(int exitCode, QProcess::ExitStatus exitStatus);
|
|
void updateSectionsComboData(int exitCode, QProcess::ExitStatus exitStatus);
|
|
void updateRunsComboData(int exitCode, QProcess::ExitStatus exitStatus);
|
|
|
|
void createTestRailRun(const QString& outputDirectory);
|
|
void updateTestRailRunResults(const QString& testResults, const QString& tempDirectory);
|
|
|
|
void addRun();
|
|
void updateRunWithResults();
|
|
|
|
void extractTestFailuresFromZippedFolder(const QString& testResults, const QString& tempDirectory);
|
|
|
|
private:
|
|
// HighFidelity Interface project ID in TestRail
|
|
const int INTERFACE_AUTOMATION_PROJECT_ID{ 26 };
|
|
|
|
// Rendering suite ID
|
|
const int INTERFACE_SUITE_ID{ 1312 };
|
|
|
|
QDomDocument _document;
|
|
|
|
BusyWindow _busyWindow;
|
|
TestRailTestCasesSelectorWindow _testRailTestCasesSelectorWindow;
|
|
TestRailRunSelectorWindow _testRailRunSelectorWindow;
|
|
TestRailResultsSelectorWindow _testRailResultsSelectorWindow;
|
|
|
|
QString _url;
|
|
QString _user;
|
|
QString _password;
|
|
QString _projectID;
|
|
QString _suiteID;
|
|
|
|
QString _testDirectory;
|
|
QString _testResults;
|
|
QString _outputDirectory;
|
|
QString _userGitHub;
|
|
QString _branchGitHub;
|
|
|
|
QStringList _releaseNames;
|
|
|
|
QStringList _sectionNames;
|
|
std::vector<int> _sectionIDs;
|
|
|
|
QStringList _runNames;
|
|
std::vector<int> _runIDs;
|
|
|
|
QString TEMP_NAME{ "fgadhcUDHSFaidsfh3478JJJFSDFIUSOEIrf" };
|
|
|
|
PythonInterface* _pythonInterface;
|
|
QString _pythonCommand;
|
|
};
|
|
|
|
#endif |