13 require_once
'PU_testcase_dcp_commonfamily.php';
24 return "PU_data_dcp_accountFamilies.ods";
37 $import = new \Dcp\Core\ImportAccounts();
43 $err = $e->getMessage();
45 $this->assertEmpty(
$err,
"import error detected $err");
46 $testingAccount = new \Account();
47 foreach ($expects as $accountData) {
48 $login = $accountData[
"login"];
49 $testingAccount->setLoginName(
$login);
51 $this->assertTrue($testingAccount->isAffected() ,
"Login $login not found");
52 foreach ($accountData[
"expectValues"] as $aid => $expVal) {
54 $this->assertEquals($expVal, $testingAccount->$aid,
"Search \"$aid\"." . print_r($testingAccount->getValues() ,
true));
56 if (isset($accountData[
"docName"])) {
57 $doc = new_doc(
"", $accountData[
"docName"]);
58 $this->assertTrue(
$doc->isAlive() , sprintf(
"Doc %s not found", $accountData[
"docName"]));
59 $this->assertEquals(
$doc->getRawValue(
"us_whatid") , $testingAccount->id, sprintf(
"Account \"%s\" is not linked: %s", $testingAccount->login, $accountData[
"docName"]));
61 $doc = new_doc(
"", $testingAccount->fid);
64 if (isset($accountData[
"expectedDocValue"])) {
65 foreach ($accountData[
"expectedDocValue"] as $aid => $expVal) {
66 $this->assertEquals($expVal,
$doc->getRawValue($aid) , sprintf(
"for %s (%s) : %s",
$doc, $aid, print_r(
$doc->getValues() ,
true)));
69 if (isset($accountData[
"expectedRoles"])) {
70 $roles = $testingAccount->getAllRoles();
71 $this->assertEquals(count($accountData[
"expectedRoles"]) , count($roles) , sprintf(
"Role count fail %s : %s", $testingAccount->login, print_r($roles,
true)));
72 foreach ($accountData[
"expectedRoles"] as $roleRef) {
73 $filteredRoles = array_filter($roles,
function ($roleData) use ($roleRef)
75 return ($roleData[
"login"] === $roleRef);
77 $this->assertEquals(count($filteredRoles) , 1, sprintf(
"role %s not found : %s", $roleRef, $testingAccount->login, print_r($roles,
true)));
81 if (isset($accountData[
"expectedGroups"])) {
82 $groupIds = $testingAccount->getGroupsId();
83 $this->assertEquals(count($accountData[
"expectedGroups"]) , count($groupIds) , sprintf(
"Group count fail %s : %s", $testingAccount->login, print_r($groupIds,
true)));
84 foreach ($accountData[
"expectedGroups"] as $groupRef) {
85 $filteredRoles = array_filter($groupIds,
function ($groupId) use ($groupRef)
89 return (
$a->login === strtolower($groupRef));
91 $this->assertEquals(count($filteredRoles) , 1, sprintf(
"group %s not found : %s : %s", $groupRef, $testingAccount->login, print_r($groupIds,
true)));
95 if (isset($accountData[
"password"])) {
96 $this->assertTrue($testingAccount->checkpassword($accountData[
"password"]) , sprintf(
"password no match for %s : \"%s\"\n%s", $testingAccount->login, $testingAccount->password, print_r($testingAccount->getValues() ,
true)));
104 "file" =>
"PU_data_dcp_accounts1.xml",
108 "login" =>
"fat capacity",
109 "expectValues" => array(
110 "lastname" =>
"Grosse capacité",
114 "docName" =>
"TST_CAPACITY1",
115 "expectedRoles" => array() ,
116 "expectedGroups" => array()
119 "login" =>
"big capacity",
120 "expectValues" => array(
121 "lastname" =>
"Grande capacité",
125 "docName" =>
"TST_CAPACITY2",
126 "expectedDocValue" => array(
127 "role_login" =>
"big capacity",
128 "role_name" =>
"Grande capacité",
129 "tst_addr" =>
"10 rue des agences"
131 "expectedRoles" => array() ,
132 "expectedGroups" => array()
135 "login" =>
"supervisor",
136 "expectValues" => array(
137 "lastname" =>
"Surveillance galactique",
141 "docName" =>
"TST_SUPERVISOR",
142 "expectedDocValue" => array(
143 "role_login" =>
"supervisor",
144 "role_name" =>
"Surveillance galactique"
146 "expectedRoles" => array() ,
147 "expectedGroups" => array()
151 "login" =>
"topsupervisor",
152 "expectValues" => array(
153 "lastname" =>
"Sécurité du toit",
157 "docName" =>
"TST_GRP_ROOFSUPERVISOR",
158 "expectedDocValue" => array(
159 "us_login" =>
"topsupervisor",
160 "grp_name" =>
"Sécurité du toit"
162 "expectedRoles" => array(
165 "expectedGroups" => array()
168 "login" =>
"levelsupervisor",
169 "expectValues" => array(
170 "lastname" =>
"Sécurité des niveaux",
174 "docName" =>
"TST_GRP_LEVELSUPERVISOR",
175 "expectedDocValue" => array(
176 "us_login" =>
"levelsupervisor",
177 "grp_name" =>
"Sécurité des niveaux"
179 "expectedRoles" => array(
182 "expectedGroups" => array(
187 "login" =>
"undergroundsupervisor",
188 "expectValues" => array(
189 "lastname" =>
"Sécurité du sous-sol",
193 "docName" =>
"TST_GRP_UNDERGROUNDSUPERVISOR",
194 "expectedDocValue" => array(
195 "us_login" =>
"undergroundsupervisor",
196 "grp_name" =>
"Sécurité du sous-sol"
198 "expectedRoles" => array(
201 "expectedGroups" => array(
208 "expectValues" => array(
209 "lastname" =>
"Chewbacca",
210 "mail" =>
"chewie@starwars.com",
214 "expectedRoles" => array() ,
215 "expectedGroups" => array()
220 "expectValues" => array(
221 "firstname" =>
"Luke",
222 "lastname" =>
"Skywalker",
223 "mail" =>
"luke@starwars.com",
226 "docName" =>
"TST_AGENT_L",
227 "expectedDocValue" => array(
228 "tst_phone" =>
"63.76.89.33",
230 "us_group" =>
"Sécurité des niveaux"
232 "expectedRoles" => array(
236 "expectedGroups" => array(
239 "password" =>
"May the force be with you"
244 "expectValues" => array(
245 "firstname" =>
"Leia",
246 "lastname" =>
"Skywalker",
247 "mail" =>
"leia@starwars.com",
250 "docName" =>
"TST_AGENT_P",
251 "expectedDocValue" => array(
252 "tst_phone" =>
"63.76.89.34",
254 "us_group" =>
"Sécurité des niveaux"
256 "expectedRoles" => array(
260 "expectedGroups" => array(
263 "password" =>
"May the force be with you"
268 "expectValues" => array(
269 "firstname" =>
"Han",
270 "lastname" =>
"Solo",
271 "mail" =>
"solo@starwars.com",
274 "docName" =>
"TST_AGENT_H",
275 "expectedDocValue" => array(
276 "tst_phone" =>
"83.26.89.43",
278 "us_group" =>
"Sécurité des niveaux\nSécurité du toit"
280 "expectedRoles" => array(
284 "expectedGroups" => array(
288 "password" =>
"Falcon Millenium"
print< H1 > Check Database< i > $dbaccess</i ></H1 > $a
testGoodImportAccount($accountFile, array $expects)
static getCommonImportFile()
if($file) if($subject==""&&$file) if($subject=="") $err