Skip to content

Commit

Permalink
test: [vault] add vault UT
Browse files Browse the repository at this point in the history
add vault UT
  • Loading branch information
GongHeng2017 authored and deepin-bot[bot] committed Jul 24, 2023
1 parent fdc0304 commit 1e9fbf8
Show file tree
Hide file tree
Showing 8 changed files with 863 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ VaultFileWatcher::VaultFileWatcher(const QUrl &url, QObject *parent)

VaultFileWatcher::~VaultFileWatcher()
{
qInfo() << "VaultFileWatcher :" << dptr->proxyStaging->url();
}

void VaultFileWatcher::onFileDeleted(const QUrl &url)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ bool OperatorCenter::verificationRetrievePassword(const QString keypath, QString
{
QFile localPubKeyfile(keypath);
if (!localPubKeyfile.open(QIODevice::Text | QIODevice::ReadOnly)) {
qDebug() << "cant't open local public key file!";
qCritical() << "Vault: cant't open local public key file!";
return false;
}

Expand All @@ -167,7 +167,7 @@ bool OperatorCenter::verificationRetrievePassword(const QString keypath, QString
QString strRSACipherFilePath = makeVaultLocalPath(kRSACiphertextFileName);
QFile rsaCipherfile(strRSACipherFilePath);
if (!rsaCipherfile.open(QIODevice::Text | QIODevice::ReadOnly)) {
qDebug() << "cant't open rsa cipher file!";
qCritical() << "Vault: cant't open rsa cipher file!";
return false;
}

Expand All @@ -179,7 +179,7 @@ bool OperatorCenter::verificationRetrievePassword(const QString keypath, QString
// 判断密码的正确性,如果密码正确,则用户密钥正确,否则用户密钥错误
QString temp = "";
if (!checkPassword(password, temp)) {
qDebug() << "user key error!";
qCritical() << "Vault: user key error!";
return false;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
// SPDX-FileCopyrightText: 2022 - 2023 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later

#include "stubext.h"
#include "fileutils/vaultfileiterator.h"
#include "utils/vaulthelper.h"

#include <gtest/gtest.h>

#include <dfm-base/base/schemefactory.h>
#include <dfm-base/file/local/syncfileinfo.h>

DPVAULT_USE_NAMESPACE
DFMBASE_USE_NAMESPACE

TEST(UT_VaultFileIterator, next_one)
{
bool isOk { false };

stub_ext::StubExt stub;
stub.set_lamda(&QDirIterator::hasNext, [ &isOk ]{
isOk = true;
return false;
});

VaultFileIterator iterator(QUrl("dfmvault:///"), QStringList(), QDir::NoDotAndDotDot, QDirIterator::NoIteratorFlags);
QUrl url = iterator.next();

EXPECT_TRUE(isOk);
}

TEST(UT_VaultFileIterator, hasNext)
{
stub_ext::StubExt stub;
stub.set_lamda(&QDirIterator::hasNext, []{
return false;
});

VaultFileIterator iterator(QUrl("dfmvault:///"), QStringList(), QDir::NoDotAndDotDot, QDirIterator::NoIteratorFlags);
bool result = iterator.hasNext();

EXPECT_FALSE(result);
}

TEST(UT_VaultFileIterator, fileName)
{
stub_ext::StubExt stub;
stub.set_lamda(&QDirIterator::fileName, []{
return "UT_TEST";
});

VaultFileIterator iterator(QUrl("dfmvault:///"), QStringList(), QDir::NoDotAndDotDot, QDirIterator::NoIteratorFlags);
QString name = iterator.fileName();

EXPECT_TRUE(name == "UT_TEST");
}

TEST(UT_VaultFileIterator, fileUrl)
{
stub_ext::StubExt stub;
stub.set_lamda(&VaultHelper::pathToVaultVirtualUrl, []{
return QUrl("dfmvault:///");
});

VaultFileIterator iterator(QUrl("dfmvault:///"), QStringList(), QDir::NoDotAndDotDot, QDirIterator::NoIteratorFlags);
QUrl url = iterator.fileUrl();

EXPECT_TRUE(url == QUrl("dfmvault:///"));
}

TEST(UT_VaultFileIterator, fileInfo)
{
bool isOk { false };

stub_ext::StubExt stub;
stub.set_lamda(&InfoFactory::create<FileInfo>, [ &isOk ]{
isOk = true;
return QSharedPointer<SyncFileInfo>(new SyncFileInfo(QUrl("file:///home/UT_TEST")));
});

VaultFileIterator iterator(QUrl("dfmvault:///"), QStringList(), QDir::NoDotAndDotDot, QDirIterator::NoIteratorFlags);
iterator.fileInfo();

EXPECT_TRUE(isOk);
}

TEST(UT_VaultFileIterator, url)
{
VaultFileIterator iterator(QUrl("dfmvault:///"), QStringList(), QDir::NoDotAndDotDot, QDirIterator::NoIteratorFlags);
QUrl url = iterator.url();

EXPECT_TRUE(url == QUrl("dfmvault:///"));
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
// SPDX-FileCopyrightText: 2022 - 2023 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later

#include "stubext.h"
#include "fileutils/vaultfilewatcher.h"

#include <gtest/gtest.h>

#include <QUrl>

DPVAULT_USE_NAMESPACE

TEST(UT_VaultFileWatcher, onFileDeleted)
{
bool isOk { false };

VaultFileWatcher watcher(QUrl("dfmvault:///UT_TEST"));
QObject::connect(&watcher, &VaultFileWatcher::fileDeleted, [ &isOk ]{
isOk = true;
});
watcher.onFileDeleted(QUrl("file:///UT_TEST"));

EXPECT_TRUE(isOk);
}

TEST(UT_VaultFileWatcher, onFileAttributeChanged)
{
bool isOk { false };

VaultFileWatcher watcher(QUrl("dfmvault:///UT_TEST"));
QObject::connect(&watcher, &VaultFileWatcher::fileAttributeChanged, [ &isOk ]{
isOk = true;
});
watcher.onFileAttributeChanged(QUrl("file:///UT_TEST"));

EXPECT_TRUE(isOk);
}

TEST(UT_VaultFileWatcher, onFileRename)
{
bool isOk { false };

VaultFileWatcher watcher(QUrl("dfmvault:///UT_TEST"));
QObject::connect(&watcher, &VaultFileWatcher::fileRename, [ &isOk ]{
isOk = true;
});
watcher.onFileRename(QUrl("dfmvault:///UT_TEST1"), QUrl("dfmvault:///UT_TEST2"));

EXPECT_TRUE(isOk);
}

TEST(UT_VaultFileWatcher, onSubfileCreated)
{
bool isOk { false };

VaultFileWatcher watcher(QUrl("dfmvault:///UT_TEST"));
QObject::connect(&watcher, &VaultFileWatcher::subfileCreated, [ &isOk ]{
isOk = true;
});
watcher.onSubfileCreated(QUrl("file:///UT_TEST"));

EXPECT_TRUE(isOk);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
// SPDX-FileCopyrightText: 2022 - 2023 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later

#include "stubext.h"
#include "menus/vaultcomputermenuscene.h"
#include "menus/vaultcomputermenuscene_p.h"
#include "utils/vaulthelper.h"

#include <gtest/gtest.h>

#include <QVariantHash>
#include <QUrl>
#include <QMenu>

#include <DMenu>

#include <dfm-base/dfm_menu_defines.h>

DPVAULT_USE_NAMESPACE
DFMBASE_USE_NAMESPACE
DWIDGET_USE_NAMESPACE

TEST(UT_VaultComputerMenuScene, name)
{
VaultComputerMenuScene scene;
QString name = scene.name();

EXPECT_TRUE(name == "VaultComputerSubMenu");
}

TEST(UT_VaultComputerMenuScene, initialize_one)
{
QVariantHash params;
params.insert(MenuParamKey::kWindowId, 123);
QList<QUrl> urls { QUrl("dfmvault:///UT_TEST.vault") };
QVariant vUrls = QVariant::fromValue<QList<QUrl>>(urls);
params.insert(MenuParamKey::kSelectFiles, vUrls);

VaultComputerMenuScene scene;
bool isOk = scene.initialize(params);

EXPECT_TRUE(isOk);
}

TEST(UT_VaultComputerMenuScene, initialize_two)
{
QVariantHash params;
params.insert(MenuParamKey::kWindowId, 123);
QList<QUrl> urls { QUrl("dfmvault:///UT_TEST") };
QVariant vUrls = QVariant::fromValue<QList<QUrl>>(urls);
params.insert(MenuParamKey::kSelectFiles, vUrls);

VaultComputerMenuScene scene;
bool isOk = scene.initialize(params);

EXPECT_FALSE(isOk);
}

TEST(UT_VaultComputerMenuScene, create)
{
stub_ext::StubExt stub;
stub.set_lamda(&VaultHelper::createMenu, []{
DMenu *menu = new DMenu;
return menu;
});

QMenu menu;
VaultComputerMenuScene scene;
bool isOk = scene.create(&menu);

EXPECT_TRUE(isOk);
}

TEST(UT_VaultComputerMenuScene, updateState)
{
bool isOk { false };

stub_ext::StubExt stub;
stub.set_lamda(VADDR(AbstractMenuScene, updateState), [ &isOk ]{
isOk = true;
});

QMenu menu;
VaultComputerMenuScene scene;
scene.updateState(&menu);

EXPECT_TRUE(isOk);
}

TEST(UT_VaultComputerMenuScene, triggered_one)
{
QAction action;
VaultComputerMenuScene scene;
scene.d->acts.push_back(&action);
bool isOk = scene.triggered(&action);

EXPECT_TRUE(isOk);
}

TEST(UT_VaultComputerMenuScene, triggered_two)
{
bool isOk { false };

stub_ext::StubExt stub;
stub.set_lamda(VADDR(AbstractMenuScene, triggered), [ &isOk ]{
isOk = true;
return true;
});

QAction action;
VaultComputerMenuScene scene;
scene.triggered(&action);

EXPECT_TRUE(isOk);
}

TEST(UT_VaultComputerMenuScene, scene_one)
{
VaultComputerMenuScene scene;
AbstractMenuScene *result = scene.scene(nullptr);

EXPECT_TRUE(result == nullptr);
}

TEST(UT_VaultComputerMenuScene, scene_two)
{
QAction action;
VaultComputerMenuScene scene;
scene.d->predicateAction.insert("UT_TEST", &action);
AbstractMenuScene *result = scene.scene(&action);

EXPECT_TRUE(result == &scene);
}

TEST(UT_VaultComputerMenuScene, scene_three)
{
bool isOk { false };

stub_ext::StubExt stub;
stub.set_lamda(VADDR(AbstractMenuScene, scene), [ &isOk ]{
isOk = true;
return nullptr;
});

QAction action;
VaultComputerMenuScene scene;
AbstractMenuScene *result = scene.scene(&action);

EXPECT_TRUE(isOk);
}
Loading

0 comments on commit 1e9fbf8

Please sign in to comment.