User:Saijanai Kuhn/OGP Test Cases
note: this is a brief note for informational purposes. it's eventually going to be "cleaned up" and moved to a more appropriate place on this wiki.
Introduction
What is This?
In the development of the Open Grid Protocol and the PyOGP project, it became obvious that there were no canonical lists of use cases and things to test. This page is the first effort to remediate this omission. While we don't go as far as providing use cases here, we do list common functionality and interoperability tests.
About the OGP Test Cases
The objective of the Open Grid Protocol is to specify syntax and semantics of SL Grid messages to the degree that interoperable viewers, agent domains, region domains and regions may be coded without resort to close examination of open source code from Linden Lab or peeking into the interaction between running clients and servers. The Second Life Grid has been developed sufficiently, the reasoning goes, that it should be possible to shine the bright light of inquiry on the process and document the living heck out of how the system works. Moving forward we should see advantages as software developers code to documented requirements and standards. The "OGP Test Cases" are a catalog of tests that demonstrate compatibility with the written spec.
Well... that's how it's supposed to be... In the real world, "running code" trumps written specifications, and probably will continue to do so. And that's one of the reasons we have the interop tests; properly written test cases succinctly communicate abstractions introduced in written specifications. So rather than viewing the SLGOGP spec and these tests as separate, think of them as being two sections of the same document.
Test Fixtures
Login Test Fixtures
0. login host fixtures | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This is the "stock" login host for initial OGP beta roll-out. This is the host which receives authentication requests. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0. login.aditi.lindenlab.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. agent domain fixtures | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This is the "stock" agent domain host for initial OGP beta roll-out. This machine hosts capabilities granted after successful authentication. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0. agent0.aditi.lindenlab.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2. region fixtures | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
These are two "well defined regions" within Linden Lab's beta test grid. Note there are no "well defined regions" outside Linden Lab's administrative domain. Anyone want to add themselves to the list? OSGrid? Bueller? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0. sim1.vaak.lindenlab.com:13000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. sim1.vaak.lindenlab.com:13001 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3. agents | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There are currently 32 "standard" agents for testing. The agents represent all combinations of the five factors: accepted TOS, read critical messages, high or low god level, suspended and disabled. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fixture | first name | last name | accepted TOS | read critical messages | god level | suspended | disabled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0. | Arthur | Crimthande | True | True | 150 | True | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. | Bertha | Crimthande | False | True | 150 | True | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2. | Cristobal | Crimthande | True | False | 150 | True | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3. | Dolly | Crimthande | False | False | 150 | True | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4. | Edouard | Crimthande | True | True | 0 | True | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5. | Fay | Crimthande | False | True | 0 | True | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6. | Gustav | Crimthande | True | False | 0 | True | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7. | Hanna | Crimthande | False | False | 0 | True | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8. | Ana | Crimthande | True | True | 150 | False | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
9. | Bill | Crimthande | False | True | 150 | False | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
10. | Claudette | Crimthande | True | False | 150 | False | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
11. | Danny | Crimthande | False | False | 150 | False | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
12. | Erika | Crimthande | True | True | 0 | False | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
13. | Fred | Crimthande | False | True | 0 | False | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
14. | Grace | Crimthande | True | False | 0 | False | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
15. | Henri | Crimthande | False | False | 0 | False | True | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
16. | Alex | Crimthande | True | True | 150 | True | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
17. | Bonnie | Crimthande | False | True | 150 | True | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
18. | Colin | Crimthande | True | False | 150 | True | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
19. | Danielle | Crimthande | False | False | 150 | True | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
20. | Earl | Crimthande | True | True | 0 | True | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21. | Fiona | Crimthande | False | True | 0 | True | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
22. | Gaston | Crimthande | True | False | 0 | True | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
23. | Hermine | Crimthande | False | False | 0 | True | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
24. | Arlene | Crimthande | True | True | 150 | False | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25. | Bret | Crimthande | False | True | 150 | False | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
26. | Cindy | Crimthande | True | False | 150 | False | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
27. | Don | Crimthande | False | False | 150 | False | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
28. | Emily | Crimthande | True | True | 0 | False | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
29. | Franklin | Crimthande | False | True | 0 | False | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
30. | Gert | Crimthande | True | False | 0 | False | False | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
31. | Harvey | Crimthande | False | False | 0 | False | False
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4. accounts | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The SLGOGP specification describes the concept of an "account" as distinct from an "agent". Accounts may have distinct names and login credentials. Additionally, users may use the account credentials to authenticate themselves to the agent domain in the login process. At the current time, this functionality is not deployed to the Aditi grid. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5. faux machines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
These are used to test machines blacklisted by mac address or id0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0. machine whose mac address and id0 are not blacklisted | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. machine whose mac address is blacklisted and id0 is not blacklisted | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2. machine whose mac address is not blacklisted and id0 is blacklisted | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3. machine whose mac address and id0 are blacklisted
Transporting FixturesSo it might not be the best idea to publish a standard list of usernames and passwords that are used for testing in live systems. We therefore expect the actual values for the test fixtures (or at least the passwords) to be confidential. To facilitate the exchange of known fixtures, we have the following XML DTD which defines the values of fixtures, so multiple parties can communicate test data easily. note : the values of the test fixtures below are non-normative. Fixture data is loaded from an XML file and referenced in the tests by it's id attribute. Fixture Transport DTD<!DOCTYPE fixtures [ <!ELEMENT fixtures (agentdomains,regions,accounts,agents,urls,fauxmachines,id0blacklist,macblacklist)> <!ELEMENT agentdomains (agent+)> <!ELEMENT agent (#CDATA)> <!ATTLIST agent id CDATA #REQUIRED> <!ELEMENT regions (region+)> <!ELEMENT region (host,port)> <!ATTLIST region id CDATA #REQUIRED> <!ELEMENT host (#CDATA)> <!ELEMENT port (#CDATA)> <!ELEMENT accounts (account+)> <!ELEMENT account (name,password,agentrefs+)> <!ATTLIST account id CDATA #REQURED> <!ELEMENT name (#CDATA)> <!ELEMENT password (#CDATA)> <!ELEMENT agentrefs (agentref+)> <!ELEMENT agentref (#EMPTY)> <!ATTLIST agentref ref CDATA #REQUIRED> <!ELEMENT agents (agent+)> <!ELEMENT agent (firstname,lastname,password)> <!ATTLIST agent id CDATA #REQUIRED> <!ELEMENT firstname (#CDATA)> <!ELEMENT lastname (#CDATA)> <!ELEMENT password (#CDATA)> <!ELEMENT urls (url+)> <!ELEMENT url (#CDATA)> <!ATTLIST url id CDATA #REQUIRED> <!ELEMENT fauxmachines (fauxmachine+)> <!ELEMENT fauxmachine (mac,id0)> <!ATTLIST fauxmachine id CDATA #REQUIRED> <!ELEMENT mac (#CDATA)> <!ELEMENT id0 (#CDATA)> <!ELEMENT id0blacklist (id0+)> <!ELEMENT macblacklist (mac+)> ]> An Example of Fixture Data<?xml version="1.0"?> <fixtures> <agentdomains> <agent id="0_0">agent0.aditi.lindenlab.com</agent> <agent id="0_1">agent1.aditi.lindenlab.com</agent> </agentdomains> <regions> <region id="1_0"> <host>sim1.vaak.secondlife.com</host> <port>13001</port> <region> </region> <accounts> <account id="2_0"> <name>idontexist</name> <password>mekmitasdigoat</password> <agentrefs> <agentref ref="3_16"/> </agentrefs> </account> <account id="3_0"> <name>Ana Goat</name> <password>Ahutrr</password> <agentrefs> <agentref ref="3_0"/> </agentrefs> </account> <account id="3_1"> <name>Bill Goat</name> <password>Btehra</password> <agentrefs> <agentref ref="3_1"/> </agentrefs> </account> <account id="3_2"> <name>Claudette Goat</name> <password>Carsobitl</password> <agentrefs> <agentref ref="3_2"/> </agentrefs> </account> <account id="3_3"> <name>Danny Goat</name> <password>Dloly</password> <agentrefs> <agentref ref="3_3"/> </agentrefs> </account> <account id="3_4"> <name>Erika Goat</name> <password>Eudroad</password> <agentrefs> <agentref ref="3_4"/> </agentrefs> </account> <account id="3_5"> <name>Fred Goat</name> <password>Fay</password> <agentrefs> <agentref ref="3_5"/> </agentrefs> </account> <account id="3_6"> <name>Grace Goat</name> <password>Gsutav</password> <agentrefs> <agentref ref="3_6"/> </agentrefs> </account> <account id="3_7"> <name>Henri Goat</name> <password>Hnana</password> <agentrefs> <agentref ref="3_7"/> </agentrefs> </account> <account id="3_8"> <name>Ida Goat</name> <password>Ike</password> <agentrefs> <agentref ref="3_8"/> </agentrefs> </account> <account id="3_9"> <name>Joaquin Goat</name> <password>Jinpseohe</password> <agentrefs> <agentref ref="3_9"/> </agentrefs> </account> <account id="3_10"> <name>Kate Goat</name> <password>Klye</password> <agentrefs> <agentref ref="3_10"/> </agentrefs> </account> <account id="3_11"> <name>Larry Goat</name> <password>Lruaa</password> <agentrefs> <agentref ref="3_11"/> </agentrefs> </account> <account id="3_12"> <name>Mindy Goat</name> <password>Mraco</password> <agentrefs> <agentref ref="3_12"/> </agentrefs> </account> <account id="3_13"> <name>Nicholas Goat</name> <password>Nnaa</password> <agentrefs> <agentref ref="3_13"/> </agentrefs> </account> <account id="3_14"> <name>Odette Goat</name> <password>Oamr</password> <agentrefs> <agentref ref="3_14"/> </agentrefs> </account> <account id="3_15"> <name>Peter Goat</name> <password>Pamloa</password> <agentrefs> <agentref ref="3_15"/> </agentrefs> </account> <account id="3_16"> <name>Rose Goat</name> <password>Rene</password> <agentrefs> <agentref ref="3_16"/> </agentrefs> </account> <account id="5_0"> <name>Walter Llama</name> <password>Sally</password> <agentrefs> <agentref ref="6_0"/> <agentref ref="6_1"/> </agentrefs> </account> <account id="5_1"> <name>Virginie Llama</name> <password>Tdedy</password> <agentrefs> <agentref ref="6_2"/> <agentref ref="6_3"/> </agentrefs> </account> <account id="5_2"> <name>Thomas Llama</name> <password>Vkciy</password> <agentrefs> <agentref ref="6_4"/> <agentref ref="6_5"/> </agentrefs> </account> <account id="5_3"> <name>Shary Llama</name> <password>Wlefird</password> <agentrefs> <agentref ref="6_6"/> <agentref ref="6_7"/> </agentrefs> </account> <account id="5_4"> <name>Richard Llama</name> <password>Yvttee</password> <agentrefs> <agentref ref="6_8"/> <agentref ref="6_9"/> </agentrefs> </account> <account id="5_5"> <name>Paula Llama</name> <password>zoomadsl</password> <agentrefs> <agentref ref="6_10"/> <agentref ref="6_11"/> </agentrefs> </account> <account id="5_6"> <name>Otto Llama</name> <password>sesame</password> <agentrefs> <agentref ref="6_12"/> <agentref ref="6_13"/> </agentrefs> </account> <account id="5_7"> <name>Nicole Llama</name> <password>password</password> <agentrefs> <agentref ref="6_14"/> <agentref ref="6_15"/> </agentrefs> </account> <account id="5_8"> <name>Matthew Llama</name> <password>tiger</password> <agentrefs> <agentref ref="6_16"/> <agentref ref="6_17"/> </agentrefs> </account> <account id="5_9"> <name>Lisa Llama</name> <password>toor</password> <agentrefs> <agentref ref="6_18"/> <agentref ref="6_19"/> </agentrefs> </account> </accounts> <agents> <agent id="4_0"> <firstname>Arlene</firstname> <lastname>Sheep</lastname> <password>smcadmin</password> </agent> <agent id="4_1"> <firstname>Bret</firstname> <lastname>Sheep</lastname> <password>SKY_FOX</password> </agent> <agent id="4_2"> <firstname>Cindy</firstname> <lastname>Sheep</lastname> <password>changeme</password> </agent> <agent id="4_3"> <firstname>Don</firstname> <lastname>Sheep</lastname> <password>piranha</password> </agent> <agent id="4_4"> <firstname>Emily</firstname> <lastname>Sheep</lastname> <password>zoomadsl</password> </agent> <agent id="4_5"> <firstname>Franklin</firstname> <lastname>Sheep</lastname> <password>sesame</password> </agent> <agent id="4_6"> <firstname>Gert</firstname> <lastname>Sheep</lastname> <password>password</password> </agent> <agent id="4_7"> <firstname>Harvey</firstname> <lastname>Sheep</lastname> <password>tiger</password> </agent> <agent id="4_8"> <firstname>Irene</firstname> <lastname>Sheep</lastname> <password>toor</password> </agent> <agent id="4_9"> <firstname>Jose</firstname> <lastname>Sheep</lastname> <password>admin</password> </agent> <agent id="4_10"> <firstname>Katia</firstname> <lastname>Sheep</lastname> <password>smcadmin</password> </agent> <agent id="4_11"> <firstname>Lee</firstname> <lastname>Sheep</lastname> <password>SKY_FOX</password> </agent> <agent id="4_12"> <firstname>Maria</firstname> <lastname>Sheep</lastname> <password>changeme</password> </agent> <agent id="4_13"> <firstname>Nate</firstname> <lastname>Sheep</lastname> <password>piranha</password> </agent> <agent id="4_14"> <firstname>Ophelia</firstname> <lastname>Sheep</lastname> <password>zoomadsl</password> </agent> <agent id="4_15"> <firstname>Philippe</firstname> <lastname>Sheep</lastname> <password>sesame</password> </agent> <agent id="4_16"> <firstname>Rina</firstname> <lastname>Sheep</lastname> <password>password</password> </agent> <agent id="6_0"> <firstname>William</firstname> <lastname>Camel</lastname> <password>tiger</password> </agent> <agent id="6_1"> <firstname>Valerie</firstname> <lastname>Camel</lastname> <password>toor</password> </agent> <agent id="6_2"> <firstname>Tony</firstname> <lastname>Camel</lastname> <password>admin</password> </agent> <agent id="6_3"> <firstname>Sandy</firstname> <lastname>Camel</lastname> <password>smcadmin</password> </agent> <agent id="6_4"> <firstname>Rafael</firstname> <lastname>Camel</lastname> <password>SKY_FOX</password> </agent> <agent id="6_5"> <firstname>Patty</firstname> <lastname>Camel</lastname> <password>changeme</password> </agent> <agent id="6_6"> <firstname>Oscar</firstname> <lastname>Camel</lastname> <password>piranha</password> </agent> <agent id="6_7"> <firstname>Nadine</firstname> <lastname>Camel</lastname> <password>zoomadsl</password> </agent> <agent id="6_8"> <firstname>Michael</firstname> <lastname>Camel</lastname> <password>sesame</password> </agent> <agent id="6_9"> <firstname>Leslie</firstname> <lastname>Camel</lastname> <password>password</password> </agent> <agent id="6_10"> <firstname>Kirk</firstname> <lastname>Camel</lastname> <password>tiger</password> </agent> <agent id="6_11"> <firstname>Joyce</firstname> <lastname>Camel</lastname> <password>toor</password> </agent> <agent id="6_12"> <firstname>Isaac</firstname> <lastname>Camel</lastname> <password>admin</password> </agent> <agent id="6_13"> <firstname>Helene</firstname> <lastname>Camel</lastname> <password>smcadmin</password> </agent> <agent id="6_14"> <firstname>Gordon</firstname> <lastname>Camel</lastname> <password>SKY_FOX</password> </agent> <agent id="6_15"> <firstname>Florence</firstname> <lastname>Camel</lastname> <password>changeme</password> </agent> <agent id="6_16"> <firstname>Ernesto</firstname> <lastname>Camel</lastname> <password>ntacdmax</password> </agent> <agent id="6_17"> <firstname>Debby</firstname> <lastname>Camel</lastname> <password>pento</password> </agent> <agent id="6_18"> <firstname>Chris</firstname> <lastname>Camel</lastname> <password>microbusiness</password> </agent> <agent id="6_19"> <firstname>Beryl</firstname> <lastname>Camel</lastname> <password>johnlee</password> </agent> <agent id="6_20"> <firstname>Alberto</firstname> <lastname>Camel</lastname> <password>piranha</password> </agent> </agents> <urls> <url id="8_0">http://agent0.aditi.lindenlab.com/messages/notice.html</url> </urls> <fauxmachines> <fauxmachine id="9_0"> <mac>01:80:C2:00:00:00</mac> <id0>3fPkIs1eG0doeDj8uscIZQ==</id0> </fauxmachine> <fauxmachine id="9_0"> <mac>01:80:C2:00:00:01</mac> <id0>3fPkIs1eG0doeDj8uscIZQ==</id0> </fauxmachine> <fauxmachine id="9_0"> <mac>01:80:C2:00:00:00</mac> <id0>4EahsGwT/GYg9uBSQeKcNA==</id0> </fauxmachine> <fauxmachine id="9_0"> <mac>01:80:C2:00:00:01</mac> <id0>4EahsGwT/GYg9uBSQeKcNA==</id0> </fauxmachine> </fauxmachines> <id0blacklist> <id0 id="10_0">4EahsGwT/GYg9uBSQeKcNA==</id0> </id0blacklist> <macblaclist> <mac id="11_0">01:80:C2:00:00:01</mac> </macblacklist> </fixtures> Base TestsREST TestsLLSD (Linden Lab Structured Data)Event QueueCapabilitiesResource TestsAgent CredentialAccount CredentialLogin TestsLogin is the process of associating a viewer with an agent domain, then placing the user's avatar in a region managed by a (potentially separate) region domain. The spec describes logging in as the sequence:
Testing the login process means logging each of these steps, in order. We should also test that executing them out of order leads to an error. We assume the code providing underlying services (such as the event queue, LLSD serialization / deserialization, MD5 Hash production, etc.) is reliable and has been tested. Tests From Client to Agent Domain
Teleport Tests |