TS 61 SaaSServices
SaaS Services Test Specification for NetBeans 6.5
Author: Lukas Jungamnn
Version: 1.5
Last update: 11/05/2008
Default IZ component(s): websvc/manager (use "[[[saas | [saas]]" prefix in issue summary)
Introduction: This document is intended to be a test specification for NetBeans websvc.saas.* modules. Scenarios in this documents cover main areas of the module's functionality testing described at EnhanceWebServicesManager. The rest of functionality provided by Web Services manager is covered by Web Services Consumption Test Specification
Estimated time: 3,5 days (approximately 1 day per authentication type)
Comments:
XML Schemas for partner services:
Service | XML Schema provider | NB Xml Schema location | Test (or original schema location) |
---|---|---|---|
Delicious | NetBeans | XSD | Test |
XSD | Test provided schema | ||
Flickr | NetBeans | XSD | Test |
Google/Geocoding | NetBeans | XSD | Test |
NetBeans | XSD | Test | |
WeatherBug | --- | XSD | Test |
Yahoo: | error XSD | ||
News Search | Yahoo | XSD | Test provided schema |
Traffic Report | Yahoo | XSD | Test provided schema |
Trip Search: - tripSearch - getTrip | Yahoo | XSD | Test provided tripSearch schema provided getTrip schema |
Zillow | Zillow | XSDs only SearchResults.xsd has been modified | Test each method has its own schema which is linked from the API page |
Zvents | NetBeans | XSD | Test |
Partner services classification:
- Per description:
WADL based | ![]() | YahooNewsService, Zillow, Facebook, Flickr, Amazon S3, ECS services |
---|---|---|
WSDL based | ![]() | StrikeIron services, GoogleAdWords, etc. |
Custom | ![]() | GoogleMap |
- Per authentication type:
ApiKey | YahooNewsService, Zillow, Zvents, Amazon ECS, etc |
---|---|
HttpBased | Twitter and Delicious only |
Session Key | Facebook and Flickr only |
Signed Url | Amazon S3 services only |
Note: For Session Key, the generated code is different for java client and web (Resource, Servlet, jsp)
Note: WSDL based web services are supported only in Java and Full IDE distributions
Additional documentation:
- Getting Started with "Software as a Service"
- Zillow service tutorial
- Facebook service tutorial
- SaaS in Php
Contents |
Test suite: Drag and Drop in Java
Purpose: Tests the drag and drop ability of (partner) services pre-registered in the Web Services Manager. One should run this test suite on at least one operation in each pre-registered service.
Setup: A project (at least java and web) with some supported drop target (can be jsp, java, RESTful web service or a servlet- since the generated code may be different the suite should be run against all of them),
expanded Services -> Web Services node,
user account for using those services (see/run View API Documentation action on the particular service node to get more info)
- Do drag and drop
- Choose some partner service in web service manager (ie. Amazon -> Associates Service)
- Navigate to its operations and select one of them (ie. itemSearch)
- drag selected node and drop it into a supported target
- EXPECTED RESULT: IDE generates org.netbeans.saas and org.netbeans.saas.<partnerName> packages and adds service invocation code into a drop target, if a drop target is a web application then web.xml is modified to contain a reference to a service Login and Callback servlets (if they are need)
- Build Project
- Run Clean & Build action on the project
- EXPECTED RESULT: Build is successful
- Run Project
- edit org.netbeans.saas.<partnerName>.<serviceName>.properties to contain correct credentials
- Run a project
- EXPECTED RESULT: Service call succeed
Test suite: Drag and Drop in Php
Purpose: Tests the drag and drop ability of (partner) services pre-registered in the Web Services Manager. One should run this test suite on at least one operation in each pre-registered service.
Setup: A php project with some kind of a php file
expanded Services -> Web Services node,
user account for using those services (see/run View API Documentation action on the particular service node to get more info)
- Do drag and drop
- Choose some partner service in web service manager (ie. Amazon -> Associates Service)
- Navigate to its operations and select one of them (ie. itemSearch)
- drag selected node and drop it into a php file
- EXPECTED RESULT: IDE generates org_netbeans_saas and org_netbeans_saas_<partnerName> folders with php files and adds service invocation code into a php file
- Run Project
- edit generated org_netbeans_saas_<partnerName>/<serviceName>AuthenticatorProfile.php to contain correct user/app credentials
- Run a project
- EXPECTED RESULT: Service call succeed
Test suite: Additional Support for StrikeIron Web Services
Purpose: Tests the UI and additional support for StrikeIron Services.
Setup: expanded Services -> Web Services node,
- Verify nodes
- Expand StrikeIron node
- EXPECTED RESULT: StrikeIron node has different icon then the rest of nodes representing a folder and contains 5 pre-registered WSDL based services
- Find additional services
- Invoke Find StrikeIron Services action from the StrikeIron node's context menu
- Type test into the text field in the Find StrikeIron Services dialog and hit Enter
- EXPECTED RESULT: At least one available web service becomes available in the table (should be StrikeIron Data Generation service)
- Verify Service description
- Select the service from the table
- EXPECTED RESULT: Web Service description is visible on the right side of the dialog
- Add service(s)
- Switch to Settings tab
- Change Authentication Mode to SOAP_HEADER, Sort By to RANK and switch back to Services tab
- Overwrite text in the text field in the Find StrikeIron Services dialog with data and press Search button
- Select some services from the list and press Add button
- EXPECTED RESULT: Selected Web Services are added, visible and ready to use in the Web Service manager under the StrikeIron node