Changes

Jump to navigation Jump to search
no edit summary
Line 1: Line 1:  
== Summary ==
 
== Summary ==
   −
Library and application that mimic regular sugar clients behaviour to help with testing [[Sugar Server Kit]] components and [[Sugar Server Kit]] based solutions.
+
'''{{Code|sugaroid}}''' is a library and application that mimics regular sugar client behaviour to help with testing [[Sugar Server Kit]] components and [[Sugar Server Kit]] based solutions.
    
== Using libsugaroid ==
 
== Using libsugaroid ==
   −
Useful for python code that tests, e.g., the school server internals.
+
It is useful for python code that tests, e.g., the school server internals.
    
See sugar-server [http://git.sugarlabs.org/server/server/trees/master/tests/integration integration tests] for examples.
 
See sugar-server [http://git.sugarlabs.org/server/server/trees/master/tests/integration integration tests] for examples.
Line 11: Line 11:  
== System testing scenarios ==
 
== System testing scenarios ==
   −
In this mode, sugaroid application tries to behave as a regular host with sugar launched on it, including anti-thief features specific only for XO laptops.
+
In this mode, the sugaroid application tries to behave as a regular host with sugar launched on it, including anti-thief features specific only for XO laptops.
    
=== Scenario files ===
 
=== Scenario files ===
   −
The regular way is writing scenarios, python scripts that need to be launched by {{Code|sugaroid}} program, i.e., such files need to have headers (you need to have path to source {{Code|sugaroid}} file in {{Code|PATH}} variable):
+
Regular use involves writing scenarios—python scripts that need to be launched by the {{Code|sugaroid}} program, i.e., such files need to have headers (you need to have the path to the source {{Code|sugaroid}} file in the {{Code|PATH}} environment variable):
    
  #!/bin/env sugaroid
 
  #!/bin/env sugaroid
Line 24: Line 24:  
     pass
 
     pass
   −
it will be launched by {{Code|sugaroid}} with passing execution context as a {{Code|libsugaroid.context.Context}} object and command-line arguments. The content of {{Code|main()}} function is exactly the scenario how sugaroid should behave.
+
It will be launched by {{Code|sugaroid}} by passing an execution context as a {{Code|libsugaroid.context.Context}} object along with command-line arguments. The content of the {{Code|main()}} function is exactly the scenario in which {{Code|sugaroid}} should behave.
    
=== Actions ===
 
=== Actions ===
   −
The building blocks of sugaroid scenarios are actions. Actions are objects of classes inherited from {{Code|libsugaroid.context.Action}}. Action classes represent one particular aspect of sugar client behaviour, e.g., activation or backup.
+
The building blocks of sugaroid scenarios are actions. Actions are objects of classes inherited from {{Code|libsugaroid.context.Action}}. Action classes represent one particular aspect of some sugar client behaviour, e.g., activation or backup.
   −
The simple scenario looks like:
+
A simple scenario looks like:
    
  from libsugaroid.actions import Activation, Registration, Presence, Backup
 
  from libsugaroid.actions import Activation, Registration, Presence, Backup
Line 42: Line 42:  
=== Launch ===
 
=== Launch ===
   −
The first command-line argument that scenario should get is a nick of sugar user. That nick will be used as a directory name in {{Code|--root}} directory to store all data related to this nick. Besides, scenario should take {{Code|--server}} command-line argument with launched [[Sugar_Server_Kit/sugar-server|sugar-server]] address and {{Code|--lease_key}} with a path to public key that was used to sign leases returned by sugar-server.
+
The first command-line argument that scenario should receive is a nick of the sugar user. That nick will be used as a directory name in the {{Code|--root}} directory to store all data related to this nick. Thereafter, scenario should take a {{Code|--server}} command-line argument, with the launched [[Sugar_Server_Kit/sugar-server|sugar-server]] address, and a {{Code|--lease_key}} argument, with a path to the public key that was used to sign leases returned by sugar-server.
   −
To simplify usage, serial number and UUID will be automatically generated basing on nick names. Thus, there is a fast way how to let sugar-server know about leases for scenario nicks:
+
To simplify usage, serial number and UUID will be automatically generated basing on nick names. Thus, there is a fast way in which to let sugar-server know about leases for scenario nicks:
    
  bc-make-lease `sugaroid id ''nick''` ''days'' | sugar-server activation import_lease
 
  bc-make-lease `sugaroid id ''nick''` ''days'' | sugar-server activation import_lease
Line 50: Line 50:  
== Getting involved ==
 
== Getting involved ==
   −
* [http://bugs.sugarlabs.org/newticket?component=sugar-server-kit Report] about bugs.
+
* [http://bugs.sugarlabs.org/newticket?component=sugar-server-kit Report] on bugs.
* Read the [http://git.sugarlabs.org/server/sugaroid/blobs/master/HACKING HACKING] file to know how to contribute by a code.
+
* Read the [http://git.sugarlabs.org/server/sugaroid/blobs/master/HACKING HACKING] file to know how to contribute with code.
    
== Resources ==
 
== Resources ==
    
* [http://git.sugarlabs.org/server/sugaroid Sources].
 
* [http://git.sugarlabs.org/server/sugaroid Sources].

Navigation menu