[RSS]

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]" 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:

ServiceXML Schema provider NB Xml Schema locationTest (or original schema location)
DeliciousNetBeansXSDTest
FacebookFacebookXSDTest
provided schema
FlickrNetBeansXSDTest
Google/GeocodingNetBeansXSDTest
TwitterNetBeansXSDTest
WeatherBug --- XSDTest
Yahoo: error XSD
News SearchYahooXSDTest
provided schema
Traffic ReportYahooXSDTest
provided schema
Trip Search:
- tripSearch
- getTrip

Yahoo

XSD
Test
provided tripSearch schema
provided getTrip schema
ZillowZillowXSDs
only SearchResults.xsd has been modified
Test
each method has its own schema which is linked from the API page
ZventsNetBeansXSDTest

Partner services classification:

  1. Per description:
WADL basedrestservice.pngYahooNewsService, Zillow, Facebook, Flickr, Amazon S3, ECS services
WSDL basedwebservice.pngStrikeIron services, GoogleAdWords, etc.
Customcustom_service.pngGoogleMap
  1. Per authentication type:
ApiKey YahooNewsService, Zillow, Zvents, Amazon ECS, etc
HttpBasedTwitter and Delicious only
Session KeyFacebook and Flickr only
Signed UrlAmazon 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:


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)
  1. Do drag and drop
    1. Choose some partner service in web service manager (ie. Amazon -> Associates Service)
    2. Navigate to its operations and select one of them (ie. itemSearch)
    3. 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)
  2. Build Project
    1. Run Clean & Build action on the project
    • EXPECTED RESULT: Build is successful
  3. Run Project
    1. edit org.netbeans.saas.<partnerName>.<serviceName>.properties to contain correct credentials
    2. 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)
  1. Do drag and drop
    1. Choose some partner service in web service manager (ie. Amazon -> Associates Service)
    2. Navigate to its operations and select one of them (ie. itemSearch)
    3. 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
  2. Run Project
    1. edit generated org_netbeans_saas_<partnerName>/<serviceName>AuthenticatorProfile.php to contain correct user/app credentials
    2. 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.
FindServicesDlg.png
Setup: expanded Services -> Web Services node,
  1. Verify nodes
    1. 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
  2. Find additional services
    1. Invoke Find StrikeIron Services action from the StrikeIron node's context menu
    2. 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)
  3. Verify Service description
    1. Select the service from the table
    • EXPECTED RESULT: Web Service description is visible on the right side of the dialog
  4. Add service(s)
    1. Switch to Settings tab
    2. Change Authentication Mode to SOAP_HEADER, Sort By to RANK and switch back to Services tab
    3. Overwrite text in the text field in the Find StrikeIron Services dialog with data and press Search button
    4. 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

Attachments

FindServicesDlg.png Info on FindServicesDlg.png 61371 bytes
custom_service.png Info on custom_service.png 935 bytes
restservice.png Info on restservice.png 932 bytes
webservice.png Info on webservice.png 837 bytes