Package com.ibm.sbt.automation.core.test

Source Code of com.ibm.sbt.automation.core.test.BaseGridTestSetup

/*
* © Copyright IBM Corp. 2013
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.ibm.sbt.automation.core.test;

import java.io.ByteArrayInputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.junit.Assert;

import com.ibm.sbt.automation.core.utils.Trace;
import com.ibm.sbt.security.authentication.AuthenticationException;
import com.ibm.sbt.services.client.ClientServicesException;
import com.ibm.sbt.services.client.base.transformers.TransformerException;
import com.ibm.sbt.services.client.connections.activities.Activity;
import com.ibm.sbt.services.client.connections.activities.ActivityService;
import com.ibm.sbt.services.client.connections.communities.Community;
import com.ibm.sbt.services.client.connections.communities.CommunityService;
import com.ibm.sbt.services.client.connections.files.File;
import com.ibm.sbt.services.client.connections.files.FileService;
import com.ibm.sbt.services.client.connections.files.model.FileCreationParameters;
import com.ibm.sbt.services.client.connections.forums.Forum;
import com.ibm.sbt.services.client.connections.forums.ForumService;

public class BaseGridTestSetup extends BaseApiTest{
 
  /**The FileService for performing File related methods.*/
  protected FileService fileService;
 
  /**fileEntry represents a Test File That will be created */
  protected File fileEntry;
 
  /**folder represents a folder which will be created for testing*/
  protected File folder;
 
  /**Fail the Test if the deletion fails */
  private boolean failIfAfterDeletionFails = true;
 
  /**the Community Service is used to perform community related actions */
  private CommunityService communityService;
 
  /**the Id of the community that is created by the createCommunity Method
   * this is stored so that the community can be deleted later. */
  private String testCommunityID;
 
  /**The Activity Service Used to create activities  */
  private ActivityService activityService;
 
  /**The Id of the test activity */
  private String testActivityID;
 
  private ForumService forumService;
 
  private String testForumID;
 
  /**Constructor*/
  public BaseGridTestSetup(){
   
  }
 
  public void createForum(){
    try {
      loginConnections();
    } catch (AuthenticationException e) {
      e.printStackTrace();
    }
    forumService = new ForumService();
    Forum forum = new Forum(forumService);
    forum.setTitle("Test forum 1ab" + System.currentTimeMillis());
    forum.setContent("Test forum created by Create Forum Java snippet");
    List<String> tags = new ArrayList<String>();
    tags.add("tag1");
    tags.add("tag2");
    forum.setTags(tags);
    try {
      forum = forum.save();
      testForumID = forum.getUid();
    } catch (ClientServicesException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
 
  public void deleteForum(){
    try {
      this.forumService.deleteForum(testForumID);
    } catch (ClientServicesException e) {
      e.printStackTrace();
    }
  }
 
  public void createBookmark(){
   
    try {
      loginConnections();
    } catch (AuthenticationException e) {
      e.printStackTrace();
    }
    super.launchSnippet("Social_Bookmarks_API_CreateBookmark",AuthType.AUTO_DETECT);
   
  }
 
  public void deleteBookmark(){
    //TODO Implement when this is implemented in the Java API
  }
 
  public void createActivity() throws ClientServicesException{
    try {
      loginConnections();
    } catch (AuthenticationException e1) {
      e1.printStackTrace();
    }
    this.activityService = new ActivityService();
    Activity activity = new Activity(activityService);
    activity.setTitle("JSPActivity" + System.currentTimeMillis());
    activity.setContent("GoalOfActivity - " + System.currentTimeMillis());
    List<String> tagList = new ArrayList<String>();
    tagList.add("tag1");
    tagList.add("tag2");
    activity.setTags(tagList);
    activity.setDuedate(new Date());
    activity = activityService.createActivity(activity);
    this.testActivityID = activity.getActivityUuid();
  }
 
  public void deleteActivity() throws ClientServicesException{
    if(this.activityService ==  null){
      this.activityService = new ActivityService();
    }else if (this.activityService != null){
      this.activityService.deleteActivity(testActivityID, null);
      System.out.println("Activty Deleted");
    }
  }
 
  /**
   * create a community for testing
   * @param title
   * @param type
   * @param content
   * @param tags
   * @param retry
   * @return
   */
  public Community createCommunity(String title, String type, String content, ArrayList<String> tags, boolean retry) {
        Community community = null;
        try {
        CommunityService communityService = new CommunityService();
        long start = System.currentTimeMillis();
         community =  new Community(communityService, "");
         community.setTitle("Test Community 1ab" + System.currentTimeMillis());
         community.setContent("");
        community.setCommunityType("public");
        community.setTags(tags);
         community = community.save();
         long duration = System.currentTimeMillis() - start;
         Trace.log("Created test community: "+community.getCommunityUuid() + " took "+duration+"(ms)");
         } catch (ClientServicesException e) {
           System.out.println("Grid Setup Error: cannot create community");

           fail("Error creating test community", e);
        }
       
        return community;
    }
 
  /**
   * Delete the community that was created by the create community method.
   */
  public void deleteCommunity() {
        if (testCommunityID != null) {
            try {
              loginConnections();
                CommunityService communityService = getCommunityService();
                communityService.deleteCommunity(testCommunityID);
            } catch (AuthenticationException pe) {
              if (pe.getCause() != null) {
                pe.getCause().printStackTrace();
              }
                Assert.fail("Error authenicating: " + pe.getMessage());
            } catch (ClientServicesException cse) {
                fail("Error deleting community "+testCommunityID, cse);
            }
        }
    }
 
  protected CommunityService getCommunityService() {
        if (communityService == null) {
            communityService = new CommunityService(getEndpointName());
        }
        return communityService;
    }
 
  protected void setFailIfAfterDeletionFails(boolean failIfAfterDeletionFails) {
    this.failIfAfterDeletionFails = failIfAfterDeletionFails;
  }
 
  protected FileService getFileService() {
    try {
      loginConnections();
    } catch (AuthenticationException e) {
      Assert.fail("Error logging in to Connections " + e.getMessage());
      e.printStackTrace();
      return null;
    }
   

    if (fileService == null) {
      fileService = new FileService(getEndpointName());
    }
    return fileService;
  }
 
  public void createFolder() {
    setFailIfAfterDeletionFails(true);
    fileService = getFileService();
    try {
      folder = fileService.createFolder("TestFolder");   
      fileService.pinFolder(folder.getFileId());
      Trace.log("Created test folder: " + folder.getFileId());     
    } catch (ClientServicesException e) {
      e.printStackTrace();
      Assert.fail("Error creating test folder: " + e.getMessage());
    } catch (TransformerException te) {
      te.printStackTrace();
      Assert.fail("Error creating test folder: " + te.getMessage());
    }
  }

  public void createFile() {

    try {
      setFailIfAfterDeletionFails(true);
      fileService = getFileService();
      String content = "Content uploaded by Grid Setup";
      String id = "File" + System.currentTimeMillis() + ".txt";

     
      FileCreationParameters p = new FileCreationParameters();
      p.visibility = FileCreationParameters.Visibility.PUBLIC;
      p.tags = new ArrayList<String>();
      p.tags.add("text");
      Map<String, String> params = p.buildParameters();     
     
      fileEntry = fileService.uploadFile(new ByteArrayInputStream(content.getBytes()), id, content.length(), params);
     
      //delete the file and folder so there are items in the "trash"
      deleteFileAndQuit();
     
      //recreate the folder and files
      createFolder();
      fileEntry = fileService.uploadFile(new ByteArrayInputStream(content.getBytes()), id, content.length(), params);

      params = new HashMap<String, String>();
      fileService.addCommentToFile(fileEntry.getFileId(), "Comment added by Grid Setup", params);
      fileService.pinFile(fileEntry.getFileId());
      if(folder != null){
        fileService.addFileToFolder(fileEntry.getFileId(), folder.getFileId());
      }else{
        createFolder();
        fileService.addFileToFolder(fileEntry.getFileId(), folder.getFileId());
      }
     
     
      Trace.log("Created test file: " + fileEntry.getFileId());
    } catch (ClientServicesException cse) {
      fileEntry = null;
          cse.printStackTrace();
      Assert.fail("Error creating test file: " + cse.getMessage());
    } catch (TransformerException te) {
      te.printStackTrace();
      Assert.fail("Error creating test file: " + te.getMessage());
    }
  }
 
  public void deleteFileAndQuit() {
    if (fileEntry != null) {
      try {
        fileService.deleteFile(fileEntry.getFileId());
      } catch (ClientServicesException cse) {
        fileEntry = null;
        if (failIfAfterDeletionFails()) {
          Assert.fail("Error deleting test file: " + cse.getMessage());
          cse.printStackTrace();
        }
      }
    }
    if (folder != null) {
      try {
        fileService.deleteFolder(folder.getFileId());
      } catch (ClientServicesException cse) {
        folder = null;
        if (failIfAfterDeletionFails()) {
          Assert.fail("Error deleting test folder: " + cse.getMessage());
          cse.printStackTrace();
        }
      }
    }

  }
 
  public void emptyTrash(){
    try {
      fileService.deleteAllFilesFromRecycleBin();
    } catch (ClientServicesException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
 
   protected void fail(String message, ClientServicesException cse) {
        String failure = message;
       
        Throwable cause = cse.getCause();
        if (cause != null) {
          cause.printStackTrace();
          failure += ", " + cause.getMessage();
        } else {
          cse.printStackTrace();
          failure += ", " + cse.getMessage();
        }
       
        Assert.fail(failure);
      }
 
  protected boolean failIfAfterDeletionFails() {
    return failIfAfterDeletionFails;
  }
 
}
TOP

Related Classes of com.ibm.sbt.automation.core.test.BaseGridTestSetup

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.