Mercurial > malikania
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 |
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 } |