Package org.jclouds.softlayer.features

Source Code of org.jclouds.softlayer.features.VirtualGuestApiExpectTest

/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements.  See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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 org.jclouds.softlayer.features;

import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;

import javax.ws.rs.core.MediaType;

import org.jclouds.http.HttpRequest;
import org.jclouds.http.HttpResponse;
import org.jclouds.softlayer.SoftLayerApi;
import org.jclouds.softlayer.domain.Datacenter;
import org.jclouds.softlayer.domain.OperatingSystem;
import org.jclouds.softlayer.domain.VirtualGuest;
import org.jclouds.softlayer.parse.CreateVirtualGuestResponseTest;
import org.jclouds.softlayer.parse.GetCreateObjectOptionsResponseTest;
import org.jclouds.softlayer.parse.GetVirtualGuestResponseTest;
import org.testng.annotations.Test;

import com.google.common.collect.ImmutableSet;

@Test(groups = "unit", testName = "VirtualGuestApiExpectTest")
public class VirtualGuestApiExpectTest extends BaseSoftLayerApiExpectTest {

   public void testGetVirtualGuestWhenResponseIs2xx() {

      HttpRequest getVirtualGuest = HttpRequest.builder().method("GET")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/3001812/getObject?objectMask=id%3Bhostname%3Bdomain%3BfullyQualifiedDomainName%3BpowerState%3BmaxCpu%3BmaxMemory%3BstatusId%3BoperatingSystem.passwords%3BprimaryBackendIpAddress%3BprimaryIpAddress%3BactiveTransactionCount%3BblockDevices.diskImage%3Bdatacenter%3BtagReferences")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build();

      HttpResponse getVirtualGuestResponse = HttpResponse.builder().statusCode(200)
              .payload(payloadFromResource("/virtual_guest_get.json")).build();

      SoftLayerApi api = requestSendsResponse(getVirtualGuest, getVirtualGuestResponse);

      assertEquals(api.getVirtualGuestApi().getVirtualGuest(3001812),
              new GetVirtualGuestResponseTest().expected());
   }

   public void testGetVirtualGuestWhenResponseIs4xx() {

      HttpRequest getObjectRequest = HttpRequest.builder().method("GET")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/3001812/getObject?objectMask=id%3Bhostname%3Bdomain%3BfullyQualifiedDomainName%3BpowerState%3BmaxCpu%3BmaxMemory%3BstatusId%3BoperatingSystem.passwords%3BprimaryBackendIpAddress%3BprimaryIpAddress%3BactiveTransactionCount%3BblockDevices.diskImage%3Bdatacenter%3BtagReferences")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build();

      HttpResponse getObjectResponse = HttpResponse.builder().statusCode(404).build();
      SoftLayerApi api = requestSendsResponse(getObjectRequest, getObjectResponse);
      assertNull(api.getVirtualGuestApi().getVirtualGuest(3001812));
   }

   public void testCreateVirtualGuestWhenResponseIs2xx() {

      HttpRequest createVirtualGuest = HttpRequest.builder().method("POST")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==")
              .payload(payloadFromResourceWithContentType("/virtual_guest_create.json", MediaType.APPLICATION_JSON))
              .build();

      HttpResponse createVirtualGuestResponse = HttpResponse.builder().statusCode(200)
              .payload(payloadFromResource("/virtual_guest_create_response.json")).build();

      VirtualGuestApi api = requestSendsResponse(createVirtualGuest, createVirtualGuestResponse).getVirtualGuestApi();
      VirtualGuest virtualGuest = createVirtualGuest();
      VirtualGuest result = api.createVirtualGuest(virtualGuest);
      assertEquals(result, new CreateVirtualGuestResponseTest().expected());
   }

   public void testCreateVirtualGuestWhenResponseIs4xx() {

      HttpRequest createVirtualGuest = HttpRequest.builder().method("POST")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==")
              .payload(payloadFromResourceWithContentType("/virtual_guest_create.json", MediaType.APPLICATION_JSON))
              .build();

      HttpResponse createVirtualGuestResponse = HttpResponse.builder().statusCode(404).build();
      SoftLayerApi api = requestSendsResponse(createVirtualGuest, createVirtualGuestResponse);
      VirtualGuest virtualGuest = createVirtualGuest();
      assertNull(api.getVirtualGuestApi().createVirtualGuest(virtualGuest));
   }

   public void testDeleteVirtualGuestWhenResponseIs2xx() {

      HttpRequest deleteVirtualGuest = HttpRequest.builder().method("GET")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/1301396/deleteObject")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==")
              .build();

      HttpResponse deleteVirtualGuestResponse = HttpResponse.builder().statusCode(200).build();

      VirtualGuestApi api = requestSendsResponse(deleteVirtualGuest, deleteVirtualGuestResponse).getVirtualGuestApi();
      assertTrue(api.deleteVirtualGuest(1301396));
   }

   public void testDeleteVirtualGuestWhenResponseIs4xx() {

      HttpRequest deleteVirtualGuest = HttpRequest.builder().method("GET")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/1301396/deleteObject")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==")
              .build();

      HttpResponse deleteVirtualGuestResponse = HttpResponse.builder().statusCode(404).build();
      VirtualGuestApi api = requestSendsResponse(deleteVirtualGuest, deleteVirtualGuestResponse).getVirtualGuestApi();
      assertFalse(api.deleteVirtualGuest(1301396));
   }

   private VirtualGuest createVirtualGuest() {
      return VirtualGuest.builder()
              .domain("example.com")
              .hostname("host1")
              .id(1301396)
              .maxMemory(1024)
              .startCpus(1)
              .localDiskFlag(true)
              .operatingSystem(OperatingSystem.builder().id("UBUNTU_LATEST")
                      .operatingSystemReferenceCode("UBUNTU_LATEST")
                      .build())
              .datacenter(Datacenter.builder().name("test").build())
              .build();
   }

   public void testGetCreateObjectOptionsWhenResponseIs2xx() {

      HttpRequest getVirtualGuest = HttpRequest.builder().method("GET")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/getCreateObjectOptions")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build();

      HttpResponse getVirtualGuestResponse = HttpResponse.builder().statusCode(200)
              .payload(payloadFromResource("/container_virtual_guest_configuration.json")).build();

      SoftLayerApi api = requestSendsResponse(getVirtualGuest, getVirtualGuestResponse);

      assertEquals(api.getVirtualGuestApi().getCreateObjectOptions(),
              new GetCreateObjectOptionsResponseTest().expected());
   }

   public void testGetCreateObjectOptionsWhenResponseIs4xx() {

      HttpRequest getObjectRequest = HttpRequest.builder().method("GET")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/getCreateObjectOptions")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build();

      HttpResponse getObjectResponse = HttpResponse.builder().statusCode(404).build();
      SoftLayerApi api = requestSendsResponse(getObjectRequest, getObjectResponse);
      assertNull(api.getVirtualGuestApi().getCreateObjectOptions());
   }

   public void testRebootHardVirtualGuestWhenResponseIs2xx() {

      HttpRequest rebootHardVirtualGuest = HttpRequest.builder().method("GET")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/1301396/rebootHard.json")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build();

      HttpResponse rebootHardVirtualGuestResponse = HttpResponse.builder().statusCode(200).build();
      SoftLayerApi api = requestSendsResponse(rebootHardVirtualGuest, rebootHardVirtualGuestResponse);
      api.getVirtualGuestApi().rebootHardVirtualGuest(1301396);
   }

   public void testRebootHardVirtualGuestWhenResponseIs4xx() {

      HttpRequest rebootHardVirtualGuest = HttpRequest.builder().method("GET")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/1301396/rebootHard.json")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build();

      HttpResponse rebootHardVirtualGuestResponse = HttpResponse.builder().statusCode(404).build();
      SoftLayerApi api = requestSendsResponse(rebootHardVirtualGuest, rebootHardVirtualGuestResponse);
      api.getVirtualGuestApi().rebootHardVirtualGuest(1301396);
   }

   public void testPauseVirtualGuestWhenResponseIs2xx() {

      HttpRequest pauseVirtualGuest = HttpRequest.builder().method("GET")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/1301396/pause.json")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build();

      HttpResponse pauseVirtualGuestResponse = HttpResponse.builder().statusCode(200).build();
      SoftLayerApi api = requestSendsResponse(pauseVirtualGuest, pauseVirtualGuestResponse);
      api.getVirtualGuestApi().pauseVirtualGuest(1301396);
   }

   public void testPauseVirtualGuestWhenResponseIs4xx() {

      HttpRequest pauseVirtualGuest = HttpRequest.builder().method("GET")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/1301396/pause.json")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build();

      HttpResponse pauseVirtualGuestResponse = HttpResponse.builder().statusCode(404).build();
      SoftLayerApi api = requestSendsResponse(pauseVirtualGuest, pauseVirtualGuestResponse);
      api.getVirtualGuestApi().pauseVirtualGuest(1301396);
   }

   public void testResumeVirtualGuestWhenResponseIs2xx() {

      HttpRequest resumeVirtualGuest = HttpRequest.builder().method("GET")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/1301396/resume.json")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build();

      HttpResponse resumeVirtualGuestResponse = HttpResponse.builder().statusCode(200).build();
      SoftLayerApi api = requestSendsResponse(resumeVirtualGuest, resumeVirtualGuestResponse);
      api.getVirtualGuestApi().resumeVirtualGuest(1301396);
   }

   public void testResumeVirtualGuestWhenResponseIs4xx() {

      HttpRequest resumeVirtualGuest = HttpRequest.builder().method("GET")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/1301396/resume.json")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build();

      HttpResponse resumeVirtualGuestResponse = HttpResponse.builder().statusCode(404).build();
      SoftLayerApi api = requestSendsResponse(resumeVirtualGuest, resumeVirtualGuestResponse);
      api.getVirtualGuestApi().resumeVirtualGuest(1301396);
   }

   public void testSetTagsOnVirtualGuestWhenResponseIs2xx() {

      HttpRequest setTagsOnVirtualGuest = HttpRequest.builder().method("POST")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/1301396/setTags")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==")
              .payload(payloadFromResourceWithContentType("/virtual_guest_set_tags.json", MediaType.APPLICATION_JSON))
              .build();

      HttpResponse setTagsOnVirtualGuestResponse = HttpResponse.builder().statusCode(200)
              .payload(payloadFromResource("/virtual_guest_set_tags_response.json")).build();

      SoftLayerApi api = requestSendsResponse(setTagsOnVirtualGuest, setTagsOnVirtualGuestResponse);
      VirtualGuest virtualGuest = createVirtualGuest();
      assertTrue(api.getVirtualGuestApi().setTags(virtualGuest.getId(), ImmutableSet.of("test1", "test2", "test3")));
   }

   public void testSetTagsOnVirtualGuestWhenResponseIs4xx() {

      HttpRequest setTagsOnVirtualGuest = HttpRequest.builder().method("POST")
              .endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/1301396/setTags")
              .addHeader("Accept", "application/json")
              .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==")
              .payload(payloadFromResourceWithContentType("/virtual_guest_set_tags.json", MediaType.APPLICATION_JSON))
              .build();

      HttpResponse setTagsOnVirtualGuestResponse = HttpResponse.builder().statusCode(404).build();
      SoftLayerApi api = requestSendsResponse(setTagsOnVirtualGuest, setTagsOnVirtualGuestResponse);
      VirtualGuest virtualGuest = createVirtualGuest();
      assertFalse(api.getVirtualGuestApi().setTags(virtualGuest.getId(), ImmutableSet.of("test1", "test2", "test3")));
   }
}
TOP

Related Classes of org.jclouds.softlayer.features.VirtualGuestApiExpectTest

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.