mirror of
https://github.com/QRouland/UTPass.git
synced 2025-06-25 15:02:28 +00:00
Add search password feature (equivalent to pass find)
This commit is contained in:
@ -5,7 +5,6 @@ set(
|
||||
SRC
|
||||
plugin.cpp
|
||||
utils.cpp
|
||||
passphraseprovider.h
|
||||
)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
@ -23,30 +22,6 @@ endif()
|
||||
add_library(${PLUGIN} MODULE ${SRC})
|
||||
set_target_properties(${PLUGIN} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PLUGIN})
|
||||
qt5_use_modules(${PLUGIN} Qml Quick DBus)
|
||||
set(RNP_BUILD_DIR "${CMAKE_SOURCE_DIR}/build/${ARCH_TRIPLET}/rnp/install")
|
||||
|
||||
INCLUDE_DIRECTORIES(${RNP_BUILD_DIR}/include)
|
||||
|
||||
add_library(rnp STATIC IMPORTED)
|
||||
set_property(TARGET rnp PROPERTY IMPORTED_LOCATION "${RNP_BUILD_DIR}/lib/librnp.a")
|
||||
|
||||
add_library(gpgerror SHARED IMPORTED)
|
||||
set_property(TARGET gpgerror PROPERTY IMPORTED_LOCATION "/usr/lib/${ARCH_TRIPLET}/libgpg-error.so.0.28.0")
|
||||
|
||||
add_library(libassuan SHARED IMPORTED)
|
||||
set_property(TARGET libassuan PROPERTY IMPORTED_LOCATION "/usr/lib/${ARCH_TRIPLET}/libassuan.so")
|
||||
|
||||
add_library(libgpgme SHARED IMPORTED)
|
||||
set_property(TARGET libgpgme PROPERTY IMPORTED_LOCATION "/usr/lib/${ARCH_TRIPLET}/libgpgme.so")
|
||||
|
||||
add_library(libgpgmepp SHARED IMPORTED)
|
||||
set_property(TARGET libgpgmepp PROPERTY IMPORTED_LOCATION "/usr/lib/${ARCH_TRIPLET}/libgpgmepp.so")
|
||||
|
||||
add_library(libqgpgme SHARED IMPORTED)
|
||||
set_property(TARGET libqgpgme PROPERTY IMPORTED_LOCATION "/usr/lib/${ARCH_TRIPLET}/libqgpgme.so")
|
||||
|
||||
|
||||
target_link_libraries(${PLUGIN} rnp gpgerror libassuan libgpgme libgpgmepp libqgpgme)
|
||||
|
||||
|
||||
set(QT_IMPORTS_DIR "/lib/${ARCH_TRIPLET}")
|
||||
|
@ -3,9 +3,9 @@
|
||||
|
||||
#include <QObject>
|
||||
#include <gpg-error.h>
|
||||
extern "C" {
|
||||
#include <rnp/rnp.h>
|
||||
}
|
||||
// extern "C" {
|
||||
// #include <rnp/rnp.h>
|
||||
// }
|
||||
|
||||
class TesTPassphraseProvider : public QObject
|
||||
{
|
||||
|
@ -6,11 +6,11 @@
|
||||
#include <memory>
|
||||
#include <quazip5/JlCompress.h>
|
||||
|
||||
#include "passphraseprovider.h"
|
||||
//#include "passphraseprovider.h"
|
||||
#include "utils.h"
|
||||
|
||||
TestsUtils::TestsUtils():
|
||||
m_passphrase_povider(std::unique_ptr<TesTPassphraseProvider>(new TesTPassphraseProvider()))
|
||||
TestsUtils::TestsUtils()
|
||||
//m_passphrase_povider(std::unique_ptr<TesTPassphraseProvider>(new TesTPassphraseProvider()))
|
||||
{}
|
||||
|
||||
|
||||
@ -68,9 +68,9 @@ void TestsUtils::copyFolder(QUrl sourceFolderUrl, QUrl destFolderUrl)
|
||||
}
|
||||
}
|
||||
|
||||
QObject *TestsUtils::getTestPassphraseProvider()
|
||||
{
|
||||
return &TesTPassphraseProvider::instance();
|
||||
}
|
||||
// QObject *TestsUtils::getTestPassphraseProvider()
|
||||
// {
|
||||
// return &TesTPassphraseProvider::instance();
|
||||
// }
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#ifndef TESTSUTILS_H
|
||||
#define TESTSUTILS_H
|
||||
|
||||
#include "passphraseprovider.h"
|
||||
//#include "passphraseprovider.h"
|
||||
#include <QObject>
|
||||
#include <QUrl>
|
||||
#include <QQuickWindow>
|
||||
@ -18,7 +18,7 @@ public:
|
||||
Q_INVOKABLE QString getTempPath();
|
||||
Q_INVOKABLE bool fileExists(QUrl path);
|
||||
Q_INVOKABLE void copyFolder(QUrl sourceFolder, QUrl destFolder);
|
||||
Q_INVOKABLE QObject *getTestPassphraseProvider();
|
||||
//Q_INVOKABLE QObject *getTestPassphraseProvider();
|
||||
|
||||
};
|
||||
|
||||
|
@ -4,6 +4,8 @@ import QtTest 1.2
|
||||
import TestsUtils 1.0
|
||||
|
||||
TestCase {
|
||||
//Pass.passphrase_provider = TestsUtils.getTestPassphraseProvider();
|
||||
|
||||
property string password_store
|
||||
property string gpg_home
|
||||
|
||||
@ -13,7 +15,6 @@ TestCase {
|
||||
Pass.gpg_home = gpg_home;
|
||||
password_store = TestsUtils.getTempPath();
|
||||
Pass.password_store = password_store;
|
||||
Pass.passphrase_provider = TestsUtils.getTestPassphraseProvider();
|
||||
}
|
||||
|
||||
}
|
||||
|
44
tests/units/pass/tst_ls.qml
Normal file
44
tests/units/pass/tst_ls.qml
Normal file
@ -0,0 +1,44 @@
|
||||
import Pass 1.0
|
||||
import QtQuick 2.9
|
||||
import QtTest 1.2
|
||||
import TestsUtils 1.0
|
||||
|
||||
PassTestCase {
|
||||
//TODO some additionanl error test
|
||||
|
||||
function init_data() {
|
||||
return [{
|
||||
"spy": lsSucceed,
|
||||
"add_home_gpg_data": true,
|
||||
"passwords": ["test.gpg"]
|
||||
}, {
|
||||
"spy": lsSucceed,
|
||||
"add_home_gpg_data": false,
|
||||
"passwords": []
|
||||
}];
|
||||
}
|
||||
|
||||
function test_ls(data) {
|
||||
if (data.add_home_gpg_data === true)
|
||||
TestsUtils.copyFolder(Qt.resolvedUrl("../../assets/password-store"), Qt.resolvedUrl(password_store));
|
||||
|
||||
var passwords;
|
||||
Pass.lsSucceed.connect(function(ret) {
|
||||
passwords = ret;
|
||||
});
|
||||
Pass.ls();
|
||||
data.spy.wait();
|
||||
verify(passwords.length === data.passwords.length, "Should return %1 password(s) but return %2 password(s)".arg(data.nb_password).arg(passwords.length));
|
||||
for (var i = 0; data.passwords.length; i++) {
|
||||
verify(passwords[i] === data.passwords[i], "%1 name should be %2 but is %3".arg(i).arg(data.passwords[i]).arg(passwords[i]));
|
||||
}
|
||||
}
|
||||
|
||||
SignalSpy {
|
||||
id: lsSucceed
|
||||
|
||||
target: Pass
|
||||
signalName: "lsSucceed"
|
||||
}
|
||||
|
||||
}
|
@ -4,24 +4,24 @@ import QtTest 1.2
|
||||
import TestsUtils 1.0
|
||||
|
||||
PassTestCase {
|
||||
// TODO This test need to fixed by providing custom stub password provider to the pass plugin for succeed tests
|
||||
//TODO some additionanl error test
|
||||
|
||||
function init_data() {
|
||||
return [{
|
||||
"spy": showFailed,
|
||||
"err_msg": "Bad password",
|
||||
"add_home_gpg_data": true,
|
||||
"add_password_store_data": true,
|
||||
"file": "../../assets/gpg/clear_text.txt.gpg"
|
||||
}, {
|
||||
"spy": showFailed,
|
||||
"err_msg": "No suitable key",
|
||||
"add_home_gpg_data": false,
|
||||
"add_password_store_data": false,
|
||||
"file": "../../assets/gpg/clear_text.txt.gpg"
|
||||
}];
|
||||
}
|
||||
|
||||
function test_pass_show(data) {
|
||||
if (data.add_home_gpg_data === true)
|
||||
if (data.add_password_store_data === true)
|
||||
TestsUtils.copyFolder(Qt.resolvedUrl("../../assets/gpghome"), Qt.resolvedUrl(gpg_home));
|
||||
|
||||
var fname, ctext;
|
||||
|
Reference in New Issue
Block a user