Estate Visibility test

== Ingredients ==
* 4 machines as part of the mainland named M1 to m4 where M1-M3 are contiguous.
* 1 machine as part of the teen grid named T1.
* 1 orientation island for main grid
* 1 orientation island for teen grid
* 2 machines as private islands on 'mainland' named Public_Island_1 and Private_Island_1. Make them adjacent.
* 2 machines as private islands on 'teen grid' named Teen_Island_1 and Teen_Island_2. Make them adjacent.
* Mainland_Restricted, a one region estate that some users are restricted to. (define how a restricted region is set up)
* Users
*# R1 (Resident from main grid)
*# Island_Owner (owner of Public_Island_1 and Private_Island_1)
*# R5 (Resident from teen/other grid)
*# a linden god
*# and a Newbie acct (to be created during the test)
== Set up == 
Bring up the machines and teleport to each as a god making sure each is part of the correct estate and has the correct owner using the god tools. Mainland is estate 1 and orientation island is estate 2. Create 4 new estates with the following visibility rules:
estate 	owner 	externally visible	mainland visible
Public_Island_1 	island_owner 	Y 	Y
Private_Island_1	island_owner 	N 	N
Teen_Island_1 	teen_island_owner	Y 	Y
Teen_Island_2 	teen_island_owner	N 	N
* Parent Estate = 1
* P2P = ON
 +-------------------+----------------------------+
 | QA.P2P No LP | QA.P2P Limit 1, group land |
 | | Deeded to the "Second Life |
 | | Preview" group |
 | estate 840 | estate 840 |
 +-------------------+----------------------------+
 | QA.P2P W/ LP | QA.P2P, Limit 1 |
 | | |
 | estate 840 | estate 840 |
 +-------------------+----------------------------+
 +----------------------+
 | QA.Island, Limit 1 |
 | Deeded to the |
 | "Second Life Preview"|
 | group |
 | Vis_from_Mainland=Y |
 | Mainland_is_Vis=Y |
 | estate 842 |
 +----------------------+
 +---------------------+
 | QA.Island, LP |
 | |
 | Vis_from_Mainland=N |
 | Mainland_is_Vis=Y |
 | estate 843 |
 +---------------------+
 +-----------------------+--------------------+
 | Orientation Island 11 | Help Island |
 | | |
 | Vis_from_Mainland=N | Vis_from_Mainland=N|
 | Mainland_is_Vis=Y | Mainland_is_Vis=Y |
 | estate 2 | estate 2 |
 +-----------------------+--------------------+
 +--------------------+--------------------+--------------------+----------------------+
 | QA.PrivateIsland1 | QA.PublicIsland1 | QA.PublicIsland1 | QA.PublicIsland1 |
 | | "No P2P A" | "No P2P B" | "No P2P C" |
 | | no telehub | telehub at center | telehub at SE corner |
 | Vis_from_Mainland=N| Vis_from_Mainland=Y| Vis_from_Mainland=Y| Vis_from_Mainland=Y |
 | Mainland_is_Vis=N | Mainland_is_Vis=Y | Mainland_is_Vis=Y | Mainland_is_Vis=Y |
 | estate 779 | estate 778 | estate 778 | estate 778 |
 +--------------------+--------------------+--------------------+----------------------+
- - - - - - - - - - - - - - - - - - - - -
Parent Estate = 5
 +-------------------+
 | Teen_Mainland_1 |
 | |
 | |
 +-------------------+
 +-----------------------+ 
 | Orientation Island 5 |
 | "teen OI" |
 | Vis_from_Mainland=N |
 | Mainland_is_Vis=Y |
 | estate 291 |
 | parent 5 |
 +-----------------------+
 +--------------------------+--------------------------+
 | QA.TeenRestrictedIsland1 | QA.RestrictedIsland1 |
 | | |
 | restricted user = | restricted user = |
 | Restricted1 Tester | Restricted782 Tester |
 | estate 784 | estate 782 |
 | parent 5 | parent 1 |
 +--------------------------+--------------------------+
 +-----------------------+-----------------------+
 | QA.TeenPublicIsland1 | QA.TeenPrivateIsland1 |
 | | |
 | Vis_from_Mainland=Y | Vis_from_Mainland=N |
 | Mainland_is_Vis=Y | Mainland_is_Vis=N |
 | estate 780 | estate 781 |
 | parent 5 | parent 5 |
 +-----------------------+-----------------------+
- - - - - - - - - - - - - - - - - - - - -
As the linden god, create a landmark while on Mainland_1 and put the landmark in a box on Mainland_OI and make it copyable.
As the linden god, put telehubs on Public_Island_1, Private_Island_1, Teen_Island_1, and Teen_Island_2.
== Estate Visibility ==
=== Expectations ===
* Access should follow visibility. If you can see it on the map, you should be able to teleport there.
* Gods can see all estates.
which supersedes
* Users can only access estates within their parent estate. ie. Users on the teen grid have their parent estate set to 5, and can only see regions that are estate 5 or have a parent estate of 5, and thus cannot see the main grid (estate 1) or any estates on the main grid.
which supersedes
* Estate owners should be able to see (and enter) their estates in all cases
which supersedes
* If you are banned, you cannot see that estate
which supersedes
* If your group is on the access list, you can see the estate
* If you are on the access list, you can see the estate
* If you are a manager, you can see the estate (is this up with Estate owners visibility?)
which supersedes
* If the estate has Visible_from_Mainland turned on, everyone can see it.
* "NOT Visible from Mainland" estates
#* "NOT Visible from Mainland" estates can be seen by groups on the access list, individuals on the access list, and the estate owner.
#* Everyone else cannot see a "NOT Visible from Mainland" estate
#* Users on the Estate banned list cannot see that estate, regardless of other rules.
* "Mainland NOT visible from Here(this estate)"
#* When on this estate, you should not be able to see the mainland (or any other estate?)
#* When on this estate, you should be able to see other estates you have access to(?? Which rule wins? What if you are an owner of another estate?)
* Gods can see any sim after entering god mode(and even after he turns off god mode).
* What does a restricted user become? A restricted estate is an estate which is its own parent estate.
* Where does Brigadoon fit in? It has one user restricted to the estate and everyone else can go to the mainland.
* Where does the OI fit in here? It appears to simply be an estate with 'Visible from Mainland' and 'Mainland Visible from here' turned off.
* R1 is a resident limited to estate 1
* R5 is a resident limited to estate 5
* G is a god account, in God mode, 'always visible'
* ML is Mainland or parent estate for that user (1 or 5)
Can people in this colum 	 	Mainland	 	PI Is Vis to ML	 	PI NOT Vis to ML
map the estates in those colums?	Main	Teen 	Main	Teen 	Main	Teen
R1 on Mainland 	Yes 	No 	Yes 	No 	No 	No
R5 on Mainland 	No 	Yes 	No 	Yes 	No 	No
G on Mainland 	Yes 	Yes 	Yes 	Yes 	Yes 	Yes
R1 on Public_Island_1 	Yes 	No 	Yes 	No 	No 	No
R5 on Public_Island_1 	No 	Yes 	No 	Yes 	No 	No
G on Public_Island_1 	Yes 	Yes 	Yes 	Yes 	Yes 	Yes
R1 on Private_Island_1 	No 	No 	No 	No 	No 	No
R5 on Private_Island_1 	No 	No 	No 	No 	No 	No
G on Private_Island_1 	Yes 	Yes 	Yes 	Yes 	Yes 	Yes
1) Log in as R1(resident on mainland) and open up the map. You should be able to see the mainland simulators, as well as the visible island, Public_Island_1. Teleport between these simulators. Make sure R1 has set their home somewhere on a mainland simulator. Make sure that the Estate... menu item exists but is disabled.
2) While R1 is still logged in, log in as Island_Owner and open the map. You should be able to see all of the mainland and public simulators. 
* Island_Owner, teleport to Public_Island_1. 
* Island_Owner, lure R1 to join you in Public_Island_1. R1, accept and teleport there.
* Island_Owner, create a landmark and hand it to R1. 
* Island_Owner, Open the Estates dialog, add R1 to the banned list, and click 'Set'. 
* Verify R1 is kicked out to the nearest region that belongs to their parent estate.
Rule: Landmarks do not override estate visibility rules
3) As R1, open the map. You should only be able to see the mainland sims. Open the landmark Public_owner gave you earlier and attempt to teleport to that location. This should fail.
Rule: Estate owner can see their own estates reguardless of visiblility rules
4) Island_Owner, open up the map from the mainland. You should be able to see all of mainland, Public_Island_1, and Private_Island_1. Teleport to Private_Island_1. Attempt to lure R1 to Private_Island_1 - this should fail.
5) Island_Owner, Open the Estate dialog and add R1 to the allowed list for Private_Island_1. As R1, open the map. You should be able to see Private_Island_1. Teleport to Private_Island_1.
6) As Island_Owner, remove R1 from the allowed lists in the Estate dialog.
7) As R1, teleport back to mainland and open the map. You should no longer see Private_Island_1 on the world map.
8) As Island_Owner, create a group called 'private_group' and invite R1 as a member. In the estate access tab, add 'private_group' to the allowed groups.
9) As R1, accept the invitation to join private_group and open the map. You should be able to see mainland and private sims. Teleport to the private sims.
10) Create a new account, Newbie. As Newbie, log in and make sure you are placed on orientation island. Grab the landmark at the end of orientation island and teleport to the mainland(or have the god user give you a LM). Open the map again, and you should no longer be able to see orientation island, but you should be able to see all of the mainland and public estates.
11) As Island_Owner, invite Newbie to join private_group. Newbie should accept the invitation and then be able to see the private simulators in their map.
== TODO: Need some visibility tests around restricted ==
== People Visibility ==
=== Rules ===
* If other user is on a sim visible to you in the world map, that user will appear as online in the finder.
* If you are both restricted to the same estate, but they are on a sim invisible to you - You will see their name, but they appear offline.
* If user is restricted to a different estate than you - You will not see their name in the finder.
* R1 is a resident limited to estate 1
* R5 is a resident limited to estate 5
* G is a god account, in God mode, 'always visible'
* PI is a private island
* ML is Mainland or parent estate for that user (1 or 5)
* V is Visible
Can people in this colum 	 	 	Mainland	 	 	PI Is Vis to ML	 	 	PI NOT Vis to ML
see people in those colums?	R1 	R5 	G 	R1 	R5 	G 	R1 	R5 	G
R1 on Mainland 	Y 	N 	Y 	Y 	N 	Y 	offline	N 	Y
R5 on Mainland 	N 	Y 	Y 	N 	Y 	Y 	N 	offline	Y
G on Mainland 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y
R1 on PI, ML is Vis 	Y 	N 	Y 	Y 	N 	Y 	offline	N 	Y
R5 on PI, ML is Vis 	N 	Y 	Y 	N 	Y 	Y 	N 	offline	Y
G on PI, ML is Vis 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y
R1 on PI, ML NOT Vis 	offline	N 	Y 	offline	N 	Y 	offline	N 	Y
R5 on PI, ML NOT Vis 	N 	offline	Y 	N 	offline	Y 	N 	offline	Y
G on PI, ML NOT Vis 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y
1) Ensure the following users are somewhere on the following estates:
Who 	Where
Island_Owner 	private
Public_owner 	public
R1 	mainland
Newbie 	mainland
Restricted_owner	restricted
Restricted_user 	restricted
god 	mainland
2) As god, open the find people tool. You should see all the users above as online.
3) As Newbie, leave the private_group
4) As Newbie, open the find people tool. You should see Public_owner, R1, yourself, and god as online. Private_owner and Restricted_owner should be findable, but listed as offline. You should not be able to find the Restricted_user.
5) As Restricted_user, open the find people tool. You should only be able to see yourself and Restricted_owner - both online. No other users should be findable(unless there are 'always visible' gods online). As Restricted_owner, log out. As Restricted_user, open the find people tool. You should still be able to find yourself but not Restricted_owner.
6) As Restricted_owner, log in and open the find people tool. You should see yourself and restricted_user as online and all users on public land should be visible, and Private_owner should be findable, but listed as offline. Add R1 to the allow lists for Restricted. 
7) As Restricted_user, open the find people tool. You should now be able to see yourself, Restricted_owner, but R1 will be invisible.
8) As R1, open the find people tool. You should be able to find Restricted_user, but they will appear as offline. Teleport to restricted and reopen the find people tool. Restricted_owner, Restricted_user, and you should be findable and listed as online. All other users should be findable but listed as offline.
9) As Newbie, open the find people tool. You should see pretty much the same information as before except that R1 is listed as offline.
10) As Private_owner, open the find people tool. You should be able to see all users on public land and yourself as online. Restricted_owner and R1 should be findable but listed as offline. Restricted_user should not be findable.
11) As R1, teleport to private and open the find people tool. You should be able to see Private_owner as online, as well as everyone on public land. Restricted_owner and Restricted_user should still be findable but listed as offline.
== invite group members should obey estate rules ==
As R1, attempt to invite Teen to your group. You should not be able to find him in the Choose Person window.
As god, enter god mode and invite Teen to your group. When the teen accepts the invite he should receive an error message "This group is not accessable to you"
== Messaging and item transfer limitations ==
1) Restricted user, give an object to a god. 
2) Teleport the god user to maingrid user's location and rez the object. Verify the maingrid user can view the restricted user's profile via the Creator button. Verify the maingrid user can only see restricted user's name, but not any other information.
3) Verify there is no way for the maingrid user to communicate with the restricted user.
You cannot give items to someone restricted to a different parent estate via their profile, even if they are a god.
Verify a restricted user can give an object to a god by dragging it directly onto their avatar.
If you have the key of someone on a restricted sim, you could IM them via script. 
If you have the key of someone on a restricted sim, you could also send them items via script, but we will can detect that and may ban the sender.
If you are friends with someone, you can IM them and offer them teleport via the friends window.
== Failure Cases ==
Log out Restricted_owner and Restricted_user. Stop the simulator for restricted. As Restricted_owner, log in - you should be placed on a mainland simulator. As Restricted_user, attempt to log in. You should not be able to successfully log in, and you should be given a somewhat useful message.
== Test this ==
Apparently teens on a region which has both estate and parent estate set to 5 can see the mainland in the map.
Mnd the dangerous corner-case of a region set to estate 5, parent estate 1
== Testcases to add ==
Estate Managers should have the same visibillity rules as the estate owner
Category:Test Scripts