~ubuntu-branches/ubuntu/oneiric/kdepim/oneiric-updates

« back to all changes in this revision

Viewing changes to messagecore/tests/util.cpp

  • Committer: Package Import Robot
  • Author(s): Philip Muškovac
  • Date: 2011-06-28 19:33:24 UTC
  • mfrom: (0.2.13) (0.1.13 sid)
  • Revision ID: package-import@ubuntu.com-20110628193324-8yvjs8sdv9rdoo6c
Tags: 4:4.7.0-0ubuntu1
* New upstream release
  - update install files
  - add missing kdepim-doc package to control file
  - Fix Vcs lines
  - kontact breaks/replaces korganizer << 4:4.6.80
  - tighten the dependency of kdepim-dev on libkdepim4 to fix lintian error

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
  Copyright (C) 2010 Klaralvdalens Datakonsult AB, a KDAB Group company, info@kdab.com
 
3
  Copyright (c) 2010 Leo Franchi <lfranchi@kde.org>
 
4
 
 
5
  This library is free software; you can redistribute it and/or modify it
 
6
  under the terms of the GNU Library General Public License as published by
 
7
  the Free Software Foundation; either version 2 of the License, or (at your
 
8
  option) any later version.
 
9
 
 
10
  This library is distributed in the hope that it will be useful, but WITHOUT
 
11
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 
12
  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
 
13
  License for more details.
 
14
 
 
15
  You should have received a copy of the GNU Library General Public License
 
16
  along with this library; see the file COPYING.LIB.  If not, write to the
 
17
  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 
18
  02110-1301, USA.
 
19
*/
 
20
 
 
21
#include "util.h"
 
22
 
 
23
#include <kleo/keylistjob.h>
 
24
#include <gpgme++/keylistresult.h>
 
25
#include <kleo/cryptobackendfactory.h>
 
26
 
 
27
#include <QFile>
 
28
#include <KDebug>
 
29
#include <QDir>
 
30
 
 
31
std::vector< GpgME::Key, std::allocator< GpgME::Key > > MessageCore::Test::getKeys(bool smime)
 
32
{
 
33
  setenv("GNUPGHOME", KDESRCDIR "../../messagecore/tests/gnupg_home" , 1 );
 
34
  setenv("LC_ALL", "C", 1);
 
35
  setenv("KDEHOME", QFile::encodeName( QDir::homePath() + QString::fromAscii( "/.kde-unit-test" ) ), 1);
 
36
 
 
37
  Kleo::KeyListJob * job = 0;
 
38
 
 
39
  if( smime ) {
 
40
    const Kleo::CryptoBackend::Protocol * const backend = Kleo::CryptoBackendFactory::instance()->protocol( "smime" );
 
41
    job = backend->keyListJob( false );
 
42
  } else {
 
43
    const Kleo::CryptoBackend::Protocol * const backend = Kleo::CryptoBackendFactory::instance()->protocol( "openpgp" );
 
44
    job = backend->keyListJob( false );
 
45
  }
 
46
  Q_ASSERT( job );
 
47
 
 
48
  std::vector< GpgME::Key > keys;
 
49
  GpgME::KeyListResult res = job->exec( QStringList(), true, keys );
 
50
 
 
51
  if( !smime )
 
52
    Q_ASSERT( keys.size() == 3 );
 
53
 
 
54
  Q_ASSERT( !res.error() );
 
55
  kDebug() << "got private keys:" << keys.size();
 
56
 
 
57
  for(std::vector< GpgME::Key >::iterator i = keys.begin(); i != keys.end(); ++i ) {
 
58
    kDebug() << "key isnull:" << i->isNull() << "isexpired:" << i->isExpired();
 
59
    kDebug() << "key numuserIds:" << i->numUserIDs();
 
60
    for(uint k = 0; k < i->numUserIDs(); ++k ) {
 
61
      kDebug() << "userIDs:" << i->userID( k ).email();
 
62
    }
 
63
  }
 
64
 
 
65
  return keys;
 
66
}