studio fx on rails demonstrating the studio fx api

23
Studio Fx on Rails Demonstrating the Studio Fx API

Upload: corey-powers

Post on 18-Jan-2016

254 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Studio Fx on Rails Demonstrating the Studio Fx API

Studio Fx on Rails

Demonstrating the Studio Fx API

Page 2: Studio Fx on Rails Demonstrating the Studio Fx API

Requirements

• Software– Ruby >= 1.8.6– Rails >= 2.3.2

• gem install rails

– MySQL >= 5– Other Ruby Gems to install

• xml/libxml• net/https

• Hardware (tested)– Mac OS X– Linux

Page 3: Studio Fx on Rails Demonstrating the Studio Fx API

MySQL

Install and configure MySQL– Linux example

• yum install mysql• yum install mysql-devel• yum install mysql-server• chgrp -R mysql /var/lib/mysql• chmod -R 770 /var/lib/mysql• service mysqld start

– set the passwords for your root account:• /usr/bin/mysqladmin -u root password 'new-password’

• Open MySQL and create the database– mysql –u root –p– create database ddt_development;

Page 4: Studio Fx on Rails Demonstrating the Studio Fx API

Studio Fx On Rails

• Check out the source from mu-labs google_code:

– http://code.google.com/p/mu-labs/source/browse/trunk/analyzer/automation/Studio_Fx_On_Rails

Page 5: Studio Fx on Rails Demonstrating the Studio Fx API

Create the Database Tables

• Edit <root_dir>/config/database.yml– set the name of the MySQL database– set the MySQL root password

• Create the database tables– From <root_dir>:• rake db:migrate• This will create the tables that are defined in the

<root_dir>db/migrate directory (‘runs’ and ‘results’)

Page 6: Studio Fx on Rails Demonstrating the Studio Fx API

Run Rails

• Start the Rails server. From <root_dir>, run:– ruby script/server

• Open the browser to Rails– http://<host>:3000

• You should see the Rails Home Page – (next slide)

• Continue on to the Studio Fx Home Page– http://<host>:3000/runs

Page 7: Studio Fx on Rails Demonstrating the Studio Fx API

Rails Home Page

Page 8: Studio Fx on Rails Demonstrating the Studio Fx API

Studio Fx on Rails / Runs

Page 9: Studio Fx on Rails Demonstrating the Studio Fx API

Load templates from a Mu

• From the ‘Runs’ page:– Enter the IP address of the Mu– Click the 'Get Templates/Set IP' button

• Loads all of the Mu’s templates for– Testbeds– Targets– Scenarios– Testsuites

Page 10: Studio Fx on Rails Demonstrating the Studio Fx API

Create a New Test Run: 1

• Click on the ‘New Run’ link and see:

Page 11: Studio Fx on Rails Demonstrating the Studio Fx API

Create a New Test Run: 2

• Select Testbed, Target, Scenario and Testsuite

Page 12: Studio Fx on Rails Demonstrating the Studio Fx API

Create a New Test Run: 3

• Click on the ‘Create’ button and see:

Page 13: Studio Fx on Rails Demonstrating the Studio Fx API

Create a New Test Run: 4

• Click on the ‘Back’ link to see the new Run

Page 14: Studio Fx on Rails Demonstrating the Studio Fx API

Run the Testsuite

• Click on the ‘Execute’ link to run the test suite– The browser will be busy until the test is

completed– When the test is done, click on the ‘Results’ link to

view the test results

Page 15: Studio Fx on Rails Demonstrating the Studio Fx API

View the Results

Page 16: Studio Fx on Rails Demonstrating the Studio Fx API

View Results Details

• Click on the ‘Show’ link to view more details, including the options and their values

Page 17: Studio Fx on Rails Demonstrating the Studio Fx API

Filter the Results

• The results can be filtered by test name, run_id or both, and, in all cases, to see only the 'latest' results

• /results?name=testname&run_id=1• /results?name=testname&run_id=1&latest

• /results?run_id=1• /results?run_id=1&latest

• /results?name=testname• /results?name=testname&latest

Page 18: Studio Fx on Rails Demonstrating the Studio Fx API

Filtered Results

Page 19: Studio Fx on Rails Demonstrating the Studio Fx API

Sample Code

• Most of the interesting code is found here:– <root_dir>/app/models/run.rb• This code executes the Rails back-end commands,

creating the DdtApi object and invoking its methods

– <root_dir>/lib/ddt_api.rb• The DdtApi class is where all of the Mu Studio Fx API

code is invoked

Page 20: Studio Fx on Rails Demonstrating the Studio Fx API

Mu Template fetching

• When we collected the templates from the Mu, we used a Mu REST Api – https://<MU_IP>/rai/rest/mu/findUsing?type=– type was Testbed, Target, Scenario and DDTSuite

• The test tool collected the responses and parsed them into hash maps, using the template names as keys and the uuid’s as values

Page 21: Studio Fx on Rails Demonstrating the Studio Fx API

Test Execution

• Executing the tests (run.rb:run_test) invoked the following sequence of calls from the DdtApi class:– new_session– testbed(testbed_uuid)– target(target_uuid)– setup_session– scenario(scenario_uuid)– run(testsuite_uuid)

Page 22: Studio Fx on Rails Demonstrating the Studio Fx API

Collecting Results

• After the test completes, the tool:– calls the DdtApi.collect_results method– parses the results– adds them to the MySQL database (results table)

Page 23: Studio Fx on Rails Demonstrating the Studio Fx API

Other DdtApi methods

• Studio Fx on Rails does not use all of the DdtApi methods. Other available methods include– Methods that manage csv files (import, export,

post, run, and eval (preview))– post_template (to send a scenario or other xml

template to the Mu)– teardown_session (invoked when you are finished

using the Mu)