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