Merge lp:~aacid/unity-greeter/remote_test_fake_rls_signals into lp:unity-greeter

Proposed by Albert Astals Cid
Status: Merged
Merged at revision: 525
Proposed branch: lp:~aacid/unity-greeter/remote_test_fake_rls_signals
Merge into: lp:unity-greeter
Diff against target: 101 lines (+82/-2)
1 file modified
src/user-list.vala (+82/-2)
To merge this branch: bzr merge lp:~aacid/unity-greeter/remote_test_fake_rls_signals
Reviewer Review Type Date Requested Status
Michael Terry (community) Needs Fixing
Review via email: mp+121000@code.launchpad.net

Commit message

Add some more tests for cases that reproduce what a r-l-s signal would call

Description of the change

Add some more tests for cases that reproduce what a r-l-s signal would call

To post a comment you must log in.
Revision history for this message
Michael Terry (mterry) wrote :

This acts weird. I entered "password" first, acted normally. Then I went back and entered delay1, and it replaced my normal "Remote Login" with "Corporate Remote Login", which I didn't expect?

Also, the "delay" options seem to add the normal options, then wait 5 seconds, then replace them with their own? I think we don't want to add the normal options at all?

review: Needs Fixing
Revision history for this message
Albert Astals Cid (aacid) wrote :

Well, this is actually the expected outcome.

The remote-login-service daemon can send signals at any time saying the "Remote Login" servers changed ("delay1"), saying the available servers in a given "Remote Login" server changed ("delay2") or saying you need to re-autenticate against the current "Remote Login" server (delay3). So to exercise correctly those situations we add the normal servers and then execute the code.

For delay1 it means the "Remote Login" server we were using disappeared, so we need to clear it from the list along with the available servers in it

For delay2 it means the available servers to login changed and we need to update the list

For delay3 it means we need to reautenticate against the "Remote Login" server and thus drop the list of the servers to login since you're not allowed to see them anymore

Maybe i should have included this in the commit log :)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/user-list.vala'
--- src/user-list.vala 2012-08-22 14:24:18 +0000
+++ src/user-list.vala 2012-08-23 13:55:29 +0000
@@ -367,8 +367,29 @@
367 string url = url_from_remote_loding_server_list_name (selected_entry.id);367 string url = url_from_remote_loding_server_list_name (selected_entry.id);
368 if (UnityGreeter.test_mode)368 if (UnityGreeter.test_mode)
369 {369 {
370 test_fill_remote_login_servers (out server_list);370 if (password_field.text == "password")
371 login_success = true;371 {
372 test_fill_remote_login_servers (out server_list);
373 login_success = true;
374 }
375 else if (password_field.text == "delay1")
376 {
377 test_fill_remote_login_servers (out server_list);
378 login_success = true;
379 Timeout.add (5000, () => {test_call_set_remote_directory_servers (); return false;});
380 }
381 else if (password_field.text == "delay2")
382 {
383 test_fill_remote_login_servers (out server_list);
384 login_success = true;
385 Timeout.add (5000, () => {test_call_remote_login_servers_updated (); return false;});
386 }
387 else if (password_field.text == "delay3")
388 {
389 test_fill_remote_login_servers (out server_list);
390 login_success = true;
391 Timeout.add (5000, () => {remote_login_changed (currently_browsing_server_url, currently_browsing_server_email); return false;});
392 }
372 }393 }
373 else394 else
374 yield remote_login_service.get_servers_for_login(url, email, password_field.text, true, out login_success, out dataType, out server_list);395 yield remote_login_service.get_servers_for_login(url, email, password_field.text, true, out login_success, out dataType, out server_list);
@@ -984,6 +1005,65 @@
9841005
985 }1006 }
9861007
1008 private void test_call_set_remote_directory_servers ()
1009 {
1010 RemoteServer[] test_server_list = {};
1011 RemoteServer remote_server = RemoteServer();
1012 remote_server.type = "uccs";
1013 remote_server.name = "Corporate Remote Login";
1014 remote_server.url = "http://internalcompayserver.com";
1015 remote_server.last_used_server = false;
1016 remote_server.fields = {};
1017 RemoteServerField field1 = RemoteServerField();
1018 field1.type = "email";
1019 RemoteServerField field2 = RemoteServerField();
1020 field2.type = "password";
1021 remote_server.fields += field1;
1022 remote_server.fields += field2;
1023
1024 test_server_list += remote_server;
1025 set_remote_directory_servers (test_server_list);
1026 }
1027
1028 private void test_call_remote_login_servers_updated ()
1029 {
1030 RemoteServer[] server_list = {};
1031 RemoteServer remote_server1 = RemoteServer();
1032 remote_server1.type = "rdp";
1033 remote_server1.name = "Cool RDP server";
1034 remote_server1.url = "http://coolrdpserver.com";
1035 remote_server1.last_used_server = false;
1036 remote_server1.fields = {};
1037 RemoteServerField field1 = RemoteServerField();
1038 field1.type = "username";
1039 RemoteServerField field2 = RemoteServerField();
1040 field2.type = "password";
1041 RemoteServerField field3 = RemoteServerField();
1042 field3.type = "domain";
1043 remote_server1.fields += field1;
1044 remote_server1.fields += field2;
1045 remote_server1.fields += field3;
1046
1047 RemoteServer remote_server2 = RemoteServer();
1048 remote_server2.type = "rdp";
1049 remote_server2.name = "MegaCool RDP server";
1050 remote_server2.url = "http://megacoolrdpserver.com";
1051 remote_server2.last_used_server = false;
1052 remote_server2.fields = {};
1053 RemoteServerField field21 = RemoteServerField();
1054 field21.type = "username";
1055 RemoteServerField field22 = RemoteServerField();
1056 field22.type = "password";
1057 remote_server2.fields += field21;
1058 remote_server2.fields += field22;
1059
1060 server_list.resize(2);
1061 server_list[0] = remote_server1;
1062 server_list[1] = remote_server2;
1063
1064 remote_login_servers_updated (currently_browsing_server_url, currently_browsing_server_email, "", server_list);
1065 }
1066
987 private void test_fill_remote_login_servers (out RemoteServer[] server_list)1067 private void test_fill_remote_login_servers (out RemoteServer[] server_list)
988 {1068 {
989 string[] domains = {"SCANNERS", "PRINTERS", "ROUTERS"};1069 string[] domains = {"SCANNERS", "PRINTERS", "ROUTERS"};

Subscribers

People subscribed via source and target branches