annotate tests/libserver/db/account/main.cpp @ 116:d7025649d85c

Server: add database account Implement accounts using a abstract factory mechanism, the database object creates abstract account which are implemented differently depending on the backend. See: - test_database, - test_account - broken_account Refs #687, #682
author David Demelier <markand@malikania.fr>
date Mon, 11 Sep 2017 13:18:43 +0200
parents 90c51ffdbbce
children a8bddc9566b0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
103
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
1 /*
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
2 * main.cpp -- unit test for database
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
3 *
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2013-2017 Alexis Dörr <nanahara@malikania.fr>
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
5 *
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
9 *
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
17 */
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
18
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
19 #define BOOST_TEST_MODULE "database account"
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
20 #include <boost/test/unit_test.hpp>
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
21
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
22 #include <malikania/server/db/test_database.hpp>
112
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
23 #include <malikania/server/db/broken_account.hpp>
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
24 #include <malikania/server/db/broken_character.hpp>
103
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
25
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
26 namespace mlk {
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
27
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
28 namespace server {
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
29
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
30 class account_fixture {
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
31 protected:
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
32 std::shared_ptr<test_database> db_{new test_database};
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
33
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
34 inline const std::unordered_map<std::int64_t, nlohmann::json> accounts() const noexcept
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
35 {
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
36 return db_->test_account_dao().accounts();
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
37 }
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
38
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
39 inline std::unordered_map<std::int64_t, nlohmann::json> accounts() noexcept
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
40 {
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
41 return db_->test_account_dao().accounts();
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
42 }
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
43
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
44 inline const std::unordered_map<std::int64_t, nlohmann::json> characters() const noexcept
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
45 {
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
46 return db_->test_character_dao().characters();
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
47 }
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
48
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
49 inline std::unordered_map<std::int64_t, nlohmann::json> characters() noexcept
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
50 {
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
51 return db_->test_character_dao().characters();
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
52 }
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
53
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
54 const nlohmann::json& get(std::int64_t id) const noexcept
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
55 {
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
56 return db_->test_account_dao().accounts().at(id);
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
57 }
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
58 };
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
59
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
60 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
61 * Basic suite using test database.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
62 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
63 */
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
64
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
65 BOOST_FIXTURE_TEST_SUITE(basic_suite, account_fixture)
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
66
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
67 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
68 * account::save.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
69 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
70 *
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
71 * Verify that database is untouched during all operation on a draft account.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
72 */
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
73 BOOST_AUTO_TEST_CASE(save)
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
74 {
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
75 auto acc = db_->account_draft("nanahara", "dummypassword");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
76
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
77 // Initial creation must be draft.
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
78 BOOST_TEST(acc->is_draft());
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
79
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
80 /*
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
81 * Set some fields, the database must not be modified at all but fields
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
82 * must be set.
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
83 */
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
84 acc->set_email("nanahara@malikania.fr");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
85 acc->set_firstname("Alexis");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
86 acc->set_lastname("Dörr");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
87
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
88 BOOST_TEST(acc->is_draft());
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
89 BOOST_TEST(!acc->is_published());
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
90 BOOST_TEST(acc->email() == "nanahara@malikania.fr");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
91 BOOST_TEST(acc->firstname() == "Alexis");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
92 BOOST_TEST(acc->lastname() == "Dörr");
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
93 BOOST_TEST(accounts().size() == 0U);
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
94
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
95 // Do save, database must be updated and account published.
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
96 acc->save();
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
97
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
98 BOOST_TEST(!acc->is_draft());
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
99 BOOST_TEST(acc->is_published());
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
100 BOOST_TEST(acc->email() == "nanahara@malikania.fr");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
101 BOOST_TEST(acc->firstname() == "Alexis");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
102 BOOST_TEST(acc->lastname() == "Dörr");
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
103 BOOST_TEST(accounts().size() == 1U);
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
104 }
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
105
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
106 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
107 * account::set_password.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
108 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
109 */
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
110 BOOST_AUTO_TEST_CASE(set_password)
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
111 {
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
112 auto ac = db_->account_draft("markand", "nopassword");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
113
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
114 ac->set_password("temporarypassword");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
115 ac->save();
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
116 ac->set_password("newpassword");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
117
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
118 BOOST_TEST(get(ac->id())["password"].get<std::string>() == "newpassword");
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
119 }
103
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
120
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
121 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
122 * account::set_email.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
123 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
124 */
103
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
125 BOOST_AUTO_TEST_CASE(set_email)
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
126 {
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
127 auto ac = db_->account_draft("markand", "nopassword");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
128
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
129 ac->set_email("fake@malikania.fr");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
130 ac->save();
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
131 ac->set_email("markand@malikania.fr");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
132
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
133 BOOST_TEST(get(ac->id())["email"].get<std::string>() == "markand@malikania.fr");
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
134 }
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
135
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
136 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
137 * account::set_firstname.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
138 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
139 */
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
140 BOOST_AUTO_TEST_CASE(set_firstname)
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
141 {
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
142 auto ac = db_->account_draft("markand", "nopassword");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
143
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
144 ac->set_firstname("Jean");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
145 ac->save();
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
146 ac->set_firstname("David");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
147
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
148 BOOST_TEST(get(ac->id())["firstname"].get<std::string>() == "David");
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
149 }
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
150
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
151 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
152 * account::set_lastname.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
153 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
154 */
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
155 BOOST_AUTO_TEST_CASE(set_lastname)
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
156 {
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
157 auto ac = db_->account_draft("markand", "nopassword");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
158
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
159 ac->set_lastname("Bertrand");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
160 ac->save();
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
161 ac->set_lastname("Demelier");
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
162
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
163 BOOST_TEST(get(ac->id())["lastname"].get<std::string>() == "Demelier");
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
164 }
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
165
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
166 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
167 * account::add_character.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
168 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
169 */
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
170 BOOST_AUTO_TEST_CASE(add_character)
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
171 {
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
172 auto ac = db_->account_draft("markand", "nopassword");
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
173
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
174 ac->save();
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
175
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
176 auto& ch = ac->add_character(db_->character_draft("erekin", "fire"));
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
177
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
178 BOOST_TEST(ch->is_published());
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
179 BOOST_TEST(characters().size() == 1U);
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
180 }
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
181
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
182 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
183 * account::dao::find_by_login suite.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
184 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
185 */
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
186 BOOST_AUTO_TEST_SUITE(find_by_login)
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
187
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
188 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
189 * Find existing account.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
190 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
191 */
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
192 BOOST_AUTO_TEST_CASE(simple)
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
193 {
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
194 {
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
195 auto ac = db_->account_draft("markand", "nopassword");
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
196
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
197 ac->set_email("markand@malikania.fr");
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
198 ac->set_firstname("David");
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
199 ac->set_lastname("Demelier");
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
200 ac->save();
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
201 ac->add_character(db_->character_draft("erekin", "mage"));
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
202 ac->add_character(db_->character_draft("irina", "fairy"));
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
203 }
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
204
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
205 auto ac = db_->account_dao().find_by_login("markand");
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
206
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
207 BOOST_TEST(ac->is_published());
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
208 BOOST_TEST(ac->login() == "markand");
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
209 BOOST_TEST(ac->email() == "markand@malikania.fr");
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
210 BOOST_TEST(ac->firstname() == "David");
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
211 BOOST_TEST(ac->lastname() == "Demelier");
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
212 BOOST_TEST(ac->characters().size() == 2U);
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
213 }
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
214
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
215 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
216 * Not existing account.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
217 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
218 */
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
219 BOOST_AUTO_TEST_CASE(not_found)
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
220 {
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
221 auto ac = db_->account_dao().find_by_login("doesnotexist");
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
222
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
223 BOOST_TEST(!ac);
103
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
224 }
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
225
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
226 BOOST_AUTO_TEST_SUITE_END()
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
227
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
228 BOOST_AUTO_TEST_SUITE_END()
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
229
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
230 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
231 * Test behaviour with broken implementation.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
232 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
233 */
112
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
234 BOOST_AUTO_TEST_SUITE(broken)
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
235
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
236 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
237 * account::save.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
238 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
239 */
112
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
240 BOOST_AUTO_TEST_CASE(save)
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
241 {
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
242 broken_account ac("markand", "nopassword");
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
243
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
244 try {
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
245 ac.save();
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
246 } catch (...) {}
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
247
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
248 BOOST_TEST(ac.is_draft());
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
249 }
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
250
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
251 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
252 * account::remove.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
253 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
254 */
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
255 BOOST_AUTO_TEST_CASE(remove)
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
256 {
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
257 broken_account ac("markand", "nopassword", broken_account::allow_flags::save);
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
258
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
259 ac.save();
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
260
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
261 try {
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
262 ac.remove();
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
263 } catch (...) {}
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
264
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
265 BOOST_TEST(ac.is_published());
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
266 }
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
267
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
268 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
269 * account::set_password.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
270 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
271 */
112
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
272 BOOST_AUTO_TEST_CASE(set_password)
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
273 {
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
274 broken_account ac("markand", "nopassword", broken_account::allow_flags::save);
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
275
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
276 ac.save();
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
277
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
278 try {
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
279 ac.set_password("newpassword");
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
280 } catch (...) {}
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
281
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
282 BOOST_TEST(ac.password() == "nopassword");
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
283 }
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
284
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
285 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
286 * account::set_email.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
287 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
288 */
112
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
289 BOOST_AUTO_TEST_CASE(set_email)
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
290 {
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
291 broken_account ac("markand", "nopassword", broken_account::allow_flags::save);
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
292
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
293 ac.save();
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
294
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
295 try {
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
296 ac.set_email("markand@malikania.fr");
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
297 } catch (...) {}
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
298
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
299 BOOST_TEST(ac.email() == "");
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
300 }
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
301
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
302 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
303 * account::set_firstname.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
304 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
305 */
112
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
306 BOOST_AUTO_TEST_CASE(set_firstname)
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
307 {
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
308 broken_account ac("markand", "nopassword", broken_account::allow_flags::save);
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
309
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
310 ac.save();
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
311
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
312 try {
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
313 ac.set_firstname("David");
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
314 } catch (...) {}
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
315
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
316 BOOST_TEST(ac.firstname() == "");
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
317 }
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
318
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
319 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
320 * account::set_lastname.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
321 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
322 */
112
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
323 BOOST_AUTO_TEST_CASE(set_lastname)
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
324 {
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
325 broken_account ac("markand", "nopassword", broken_account::allow_flags::save);
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
326
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
327 ac.save();
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
328
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
329 try {
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
330 ac.set_lastname("David");
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
331 } catch (...) {}
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
332
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
333 BOOST_TEST(ac.lastname() == "");
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
334 }
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
335
116
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
336 /*
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
337 * account::add_character.
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
338 * ------------------------------------------------------------------
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
339 */
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
340 BOOST_AUTO_TEST_CASE(add_character)
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
341 {
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
342 broken_account ac("markand", "nopassword", broken_account::allow_flags::save);
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
343
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
344 ac.save();
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
345
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
346 try {
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
347 ac.add_character(std::make_unique<broken_character>("erekin", "fire"));
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
348 } catch (...) {}
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
349
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
350 BOOST_TEST(ac.characters().size() == 0U);
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
351 }
d7025649d85c Server: add database account
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
352
112
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
353 BOOST_AUTO_TEST_SUITE_END()
90c51ffdbbce Server: add broken_account for tests, #682
David Demelier <markand@malikania.fr>
parents: 107
diff changeset
354
103
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
355 } // !server
107
6f4965c26ceb Server: add basic accounts tests, #682
David Demelier <markand@malikania.fr>
parents: 103
diff changeset
356
103
41e5722da2ae Tests: begin of database tests, #682
Alexis Dörr <nanahara@malikania.fr>
parents:
diff changeset
357 } // !mlk