annotate tests/libserver/dao-account/main.cpp @ 33:d4f5f7231b84

Misc: switch to .hpp, dos2unix everything while here, #478
author David Demelier <markand@malikania.fr>
date Fri, 17 Jun 2016 13:12:35 +0200
parents a1e80d991968
children 56ab2f0c90dc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * main.cpp -- test AccountDao
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2013-2016 David Demelier <markand@malikania.fr>
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #include <cassert>
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 #include <gtest/gtest.h>
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
22
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 #include <sysconfig-tests.h>
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
24
33
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
25 #include <malikania/account.hpp>
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
26 #include <malikania/dao-account.hpp>
d4f5f7231b84 Misc: switch to .hpp, dos2unix everything while here, #478
David Demelier <markand@malikania.fr>
parents: 30
diff changeset
27 #include <malikania/database.hpp>
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 using namespace malikania;
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
30
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 class TestAccountDao : public testing::Test {
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 protected:
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
33 Database m_database;
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
34 AccountDao m_dao;
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
35
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 public:
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
37 TestAccountDao()
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
38 : m_database(DRIVERDIR "pgsql.so", {
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
39 { "host", WITH_TEST_PGSQL_HOST },
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
40 { "port", WITH_TEST_PGSQL_PORT },
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
41 { "user", WITH_TEST_PGSQL_USER },
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
42 { "database", WITH_TEST_PGSQL_DATABASE }
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
43 })
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
44 , m_dao(m_database)
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
45 {
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
46 m_dao.clear();
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
47
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
48 assert(m_dao.count() == 0U);
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
49 }
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 };
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
51
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 TEST_F(TestAccountDao, create)
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 {
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
54 try {
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
55 Account ac;
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
56
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
57 ac.setName("jean");
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
58 ac.setEmail("jean@christophe.fr");
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
59 ac.setFirstName("Jean");
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
60 ac.setLastName("Christophe");
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
61 ac.setPassword("raw");
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
62
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
63 m_dao.create(ac);
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
64
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
65 ASSERT_EQ(1U, m_dao.count());
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
66 ASSERT_EQ(ac, m_dao.list()[0]);
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
67 } catch (const std::exception &ex) {
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
68 FAIL() << ex.what();
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
69 }
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 }
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
71
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 TEST_F(TestAccountDao, update)
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 {
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
74 try {
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
75 Account ac;
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
76
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
77 ac.setName("jean");
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
78 ac.setEmail("jean@christophe.fr");
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
79 ac.setFirstName("Jean");
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
80 ac.setLastName("Christophe");
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
81 ac.setPassword("raw");
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
82
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
83 m_dao.create(ac);
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
84
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
85 ac.setEmail("benoit@christophe.fr");
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
86 ac.setFirstName("Benoit");
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
87
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
88 m_dao.update(ac);
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
89
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
90 Account ac2 = m_dao.get(ac.id());
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
91
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
92 ASSERT_EQ("jean", ac2.name());
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
93 ASSERT_EQ("benoit@christophe.fr", ac2.email());
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
94 ASSERT_EQ("Benoit", ac2.firstName());
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
95 } catch (const std::exception &ex) {
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
96 FAIL() << ex.what();
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
97 }
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 }
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
99
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 int main(int argc, char **argv)
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 {
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
102 testing::InitGoogleTest(&argc, argv);
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
103
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 29
diff changeset
104 return RUN_ALL_TESTS();
29
99792c6c8b06 Server: add initial postgresql account management, #475
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 }