Package org.jclouds.vcloud.director.v1_5.features

Source Code of org.jclouds.vcloud.director.v1_5.features.MediaApiExpectTest

/*
* 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.vcloud.director.v1_5.features;

import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.fail;

import java.net.URI;

import org.jclouds.vcloud.director.v1_5.VCloudDirectorException;
import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType;
import org.jclouds.vcloud.director.v1_5.domain.Error;
import org.jclouds.vcloud.director.v1_5.domain.File;
import org.jclouds.vcloud.director.v1_5.domain.Link;
import org.jclouds.vcloud.director.v1_5.domain.Media;
import org.jclouds.vcloud.director.v1_5.domain.Media.ImageType;
import org.jclouds.vcloud.director.v1_5.domain.Metadata;
import org.jclouds.vcloud.director.v1_5.domain.MetadataEntry;
import org.jclouds.vcloud.director.v1_5.domain.Owner;
import org.jclouds.vcloud.director.v1_5.domain.Reference;
import org.jclouds.vcloud.director.v1_5.domain.Task;
import org.jclouds.vcloud.director.v1_5.domain.params.CloneMediaParams;
import org.jclouds.vcloud.director.v1_5.internal.VCloudDirectorAdminApiExpectTest;
import org.jclouds.vcloud.director.v1_5.user.VCloudDirectorApi;
import org.testng.annotations.Test;

import com.google.common.collect.ImmutableSet;

/**
* Test the {@link MediaApi} via its side effects.
*
* @author danikov
*/
@Test(groups = { "unit", "user" }, singleThreaded = true, testName = "MediaApiExpectTest")
public class MediaApiExpectTest extends VCloudDirectorAdminApiExpectTest {
  
   @Test
   public void testAddMedia() {
      URI uploadLink = URI.create(endpoint + "/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f/media");

      VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
            new VcloudHttpRequestPrimer()
               .apiCommand("POST", "/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f/media")
               .acceptMedia(VCloudDirectorMediaType.MEDIA)
               .xmlFilePayload("/media/addMediaSource.xml", VCloudDirectorMediaType.MEDIA)
               .httpRequestBuilder().build(),
            new VcloudHttpResponsePrimer()
               .xmlFilePayload("/media/addMedia.xml", VCloudDirectorMediaType.MEDIA)
               .httpResponseBuilder().statusCode(201).build());
     
      Media source = Media.builder()
         .size(0)
         .imageType(ImageType.ISO)
         .name("Test media 1")
         .type("application/vnd.vmware.vcloud.media+xml")
         .description("Test media generated by testCreateMedia()")
         .build();
      Media expected = addMedia();
     
      assertEquals(api.getMediaApi().add(uploadLink, source), expected);
   }
  
   @Test
   public void testCloneMedia() {
      URI vdcURI = URI.create(endpoint + "/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f");

      VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
            new VcloudHttpRequestPrimer()
               .apiCommand("POST", "/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f/action/cloneMedia")
               .acceptMedia(VCloudDirectorMediaType.MEDIA)
               .xmlFilePayload("/media/cloneMediaParams.xml", VCloudDirectorMediaType.CLONE_MEDIA_PARAMS)
               .httpRequestBuilder().build(),
            new VcloudHttpResponsePrimer()
               .xmlFilePayload("/media/cloneMedia.xml", VCloudDirectorMediaType.MEDIA)
               .httpResponseBuilder().statusCode(201).build());
     
      CloneMediaParams params = CloneMediaParams.builder()
         .name("moved test media")
         .description("moved by testCloneMedia()")
         .source(Reference.builder()
               .type("application/vnd.vmware.vcloud.media+xml")
               .name("copied test media")
               .href(URI.create("https://mycloud.greenhousedata.com/api/media/da8361af-cccd-4103-a71c-493513c49094"))
               .build())
         .isSourceDelete(false)
         .build();
      Media expected = cloneMedia();
     
      assertEquals(api.getMediaApi().clone(vdcURI, params), expected);
   }
  
   @Test
   public void testGetMedia() {
      URI mediaUri = URI.create(endpoint + "/media/794eb334-754e-4917-b5a0-5df85cbd61d1");

      VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
            new VcloudHttpRequestPrimer()
               .apiCommand("GET", "/media/794eb334-754e-4917-b5a0-5df85cbd61d1")
               .acceptAnyMedia()
               .httpRequestBuilder().build(),
            new VcloudHttpResponsePrimer()
               .xmlFilePayload("/media/media.xml", VCloudDirectorMediaType.MEDIA)
               .httpResponseBuilder().build());
     
      Media expected = getMedia();
      assertEquals(api.getMediaApi().get(mediaUri), expected);
   }
  
   @Test
   public void testResponse400ForInvalidMedia() {
      URI mediaUri = URI.create(endpoint + "/media/NOTAUUID");
      VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
            new VcloudHttpRequestPrimer()
               .apiCommand("GET", "/media/NOTAUUID")
               .acceptAnyMedia()
               .httpRequestBuilder().build(),
            new VcloudHttpResponsePrimer()
               .xmlFilePayload("/media/error400.xml", VCloudDirectorMediaType.ERROR)
               .httpResponseBuilder().statusCode(400).build());
      Error expected = Error.builder()
            .message("validation error on field 'id': String value has invalid format or length")
            .majorErrorCode(400)
            .minorErrorCode("BAD_REQUEST")
            .build();
      
      try {
         api.getMediaApi().get(mediaUri);
         fail("Should give HTTP 400 error");
      } catch (VCloudDirectorException vde) {
         assertEquals(vde.getError(), expected);
      } catch (Exception e) {
         fail("Should have thrown a VCloudDirectorException", e);
      }
   }
   @Test
   public void testNullResponseForCatalogIdUsedAsMediaId() {
      URI mediaUri = URI.create(endpoint + "/media/e9cd3387-ac57-4d27-a481-9bee75e0690f");
      VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
            new VcloudHttpRequestPrimer()
               .apiCommand("GET", "/media/e9cd3387-ac57-4d27-a481-9bee75e0690f")
               .acceptAnyMedia()
               .httpRequestBuilder().build(),
            new VcloudHttpResponsePrimer()
               .xmlFilePayload("/media/error403-catalog.xml", VCloudDirectorMediaType.ERROR)
               .httpResponseBuilder().statusCode(403).build());
      assertNull(api.getMediaApi().get(mediaUri));
   }
   @Test
   public void testResponse403ForFakeMediaId() {
      URI mediaUri = URI.create(endpoint + "/media/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee");
      VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
            new VcloudHttpRequestPrimer()
               .apiCommand("GET", "/media/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee")
               .acceptAnyMedia()
               .httpRequestBuilder().build(),
            new VcloudHttpResponsePrimer()
               .xmlFilePayload("/media/error403-fake.xml", VCloudDirectorMediaType.ERROR)
               .httpResponseBuilder().statusCode(403).build());
      assertNull(api.getMediaApi().get(mediaUri));
   }
  
   @Test
   public void testEditMedia() {
      URI mediaUri = URI.create(endpoint + "/media/794eb334-754e-4917-b5a0-5df85cbd61d1");

      VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
            new VcloudHttpRequestPrimer()
               .apiCommand("PUT", "/media/794eb334-754e-4917-b5a0-5df85cbd61d1")
               .xmlFilePayload("/media/editMedia.xml", VCloudDirectorMediaType.MEDIA)
               .acceptMedia(VCloudDirectorMediaType.TASK)
               .httpRequestBuilder().build(),
            new VcloudHttpResponsePrimer()
               .xmlFilePayload("/media/editMediaTask.xml", VCloudDirectorMediaType.TASK)
               .httpResponseBuilder().build());
     
      Media edit = editMedia();
      Task expected = editMediaTask();
     
      assertEquals(api.getMediaApi().edit(mediaUri, edit), expected);
   }
  
   @Test
   public void testRemoveMedia() {
      URI mediaUri = URI.create(endpoint + "/media/794eb334-754e-4917-b5a0-5df85cbd61d1");

      VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
            new VcloudHttpRequestPrimer()
               .apiCommand("DELETE", "/media/794eb334-754e-4917-b5a0-5df85cbd61d1")
               .acceptMedia(VCloudDirectorMediaType.TASK)
               .httpRequestBuilder().build(),
            new VcloudHttpResponsePrimer()
               .xmlFilePayload("/media/removeMediaTask.xml", VCloudDirectorMediaType.TASK)
               .httpResponseBuilder().build());
     
      Task expected = removeMediaTask();

      assertEquals(api.getMediaApi().remove(mediaUri), expected);
   }
  
   @Test
   public void testGetMetadata() {
      URI mediaUri = URI.create("https://vcloudbeta.bluelock.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1");
     
      VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
            new VcloudHttpRequestPrimer()
               .apiCommand("GET", "/media/794eb334-754e-4917-b5a0-5df85cbd61d1/metadata")
               .acceptAnyMedia()
               .httpRequestBuilder().build(),
            new VcloudHttpResponsePrimer()
               .xmlFilePayload("/media/metadata.xml", VCloudDirectorMediaType.METADATA)
               .httpResponseBuilder().build());
     
     
      Metadata expected = metadata();

      assertEquals(api.getMetadataApi(mediaUri).get(), expected);
   }
  
   @Test
   public void testMergeMetadata() {
      URI mediaUri = URI.create("https://vcloudbeta.bluelock.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1");
     
      VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
            new VcloudHttpRequestPrimer()
               .apiCommand("POST", "/media/794eb334-754e-4917-b5a0-5df85cbd61d1/metadata")
               .xmlFilePayload("/media/mergeMetadata.xml", VCloudDirectorMediaType.METADATA)
               .acceptMedia(VCloudDirectorMediaType.TASK)
               .httpRequestBuilder().build(),
            new VcloudHttpResponsePrimer()
               .xmlFilePayload("/media/mergeMetadataTask.xml", VCloudDirectorMediaType.TASK)
               .httpResponseBuilder().build());
     
      Metadata inputMetadata = metadata();
      Task expectedTask = mergeMetadataTask();

      assertEquals(api.getMetadataApi(mediaUri).putAll(inputMetadata), expectedTask);
   }
  
   public void testGetMetadataValue() {
      URI mediaUri = URI.create("https://vcloudbeta.bluelock.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1");
     
      VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
            new VcloudHttpRequestPrimer()
               .apiCommand("GET", "/media/794eb334-754e-4917-b5a0-5df85cbd61d1/metadata/key")
               .acceptAnyMedia()
               .httpRequestBuilder().build(),
            new VcloudHttpResponsePrimer()
               .xmlFilePayload("/media/metadataValue.xml", VCloudDirectorMediaType.METADATA_VALUE)
               .httpResponseBuilder().build());
    
      assertEquals(api.getMetadataApi(mediaUri).get("key"), "value");
   }
  
   @Test
   public void testSetMetadataValue() {
      URI mediaUri = URI.create("https://vcloudbeta.bluelock.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1");
     
      VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
            new VcloudHttpRequestPrimer()
               .apiCommand("PUT", "/media/794eb334-754e-4917-b5a0-5df85cbd61d1/metadata/key")
               .xmlFilePayload("/media/setMetadataValue.xml", VCloudDirectorMediaType.METADATA_VALUE)
               .acceptMedia(VCloudDirectorMediaType.TASK)
               .httpRequestBuilder().build(),
            new VcloudHttpResponsePrimer()
               .xmlFilePayload("/media/setMetadataValueTask.xml", VCloudDirectorMediaType.TASK)
               .httpResponseBuilder().build());
           
      Task expectedTask = setMetadataEntryTask();

      assertEquals(api.getMetadataApi(mediaUri).put("key", "value"), expectedTask);
   }
  
   @Test
   public void testRemoveMetadataValue() {
      URI mediaUri = URI.create("https://vcloudbeta.bluelock.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1");
     
      VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
            new VcloudHttpRequestPrimer()
               .apiCommand("DELETE", "/media/794eb334-754e-4917-b5a0-5df85cbd61d1/metadata/key")
               .acceptMedia(VCloudDirectorMediaType.TASK)
               .httpRequestBuilder().build(),
            new VcloudHttpResponsePrimer()
               .xmlFilePayload("/media/removeMetadataEntryTask.xml", VCloudDirectorMediaType.TASK)
               .httpResponseBuilder().build());
     
      Task expectedTask = removeTask();

      assertEquals(api.getMetadataApi(mediaUri).remove("key"), expectedTask);
   }
  
   @Test
   public void testGetOwner() {
      URI mediaUri = URI.create(endpoint + "/media/794eb334-754e-4917-b5a0-5df85cbd61d1");

      VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
            new VcloudHttpRequestPrimer()
               .apiCommand("GET", "/media/794eb334-754e-4917-b5a0-5df85cbd61d1/owner")
               .acceptAnyMedia()
               .httpRequestBuilder().build(),
            new VcloudHttpResponsePrimer()
               .xmlFilePayload("/media/owner.xml", VCloudDirectorMediaType.OWNER)
               .httpResponseBuilder().build());
     
      Owner expected = owner().toBuilder()
               .link(Link.builder()
                        .rel("up")
                        .type("application/vnd.vmware.vcloud.media+xml")
                        .href(URI.create("https://mycloud.greenhousedata.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1"))
                        .build())
               .build();
     
      assertEquals(api.getMediaApi().getOwner(mediaUri), expected);
   }
  
   static Media addMedia() {
      return Media.builder()
         .size(0)
         .imageType(ImageType.ISO)
         .status(0)
         .name("Test media 1")
         .id("urn:vcloud:media:d51b0b9d-099c-499f-97f8-4fbe40ba06d7")
         .type("application/vnd.vmware.vcloud.media+xml")
         .description("Test media generated by testCreateMedia()")
         .href(URI.create("https://mycloud.greenhousedata.com/api/media/d51b0b9d-099c-499f-97f8-4fbe40ba06d7"))
         .link(Link.builder()
            .rel("up")
            .type("application/vnd.vmware.vcloud.vdc+xml")
            .href(URI.create("https://mycloud.greenhousedata.com/api/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f"))
            .build())
         .link(Link.builder()
            .rel("remove")
            .href(URI.create("https://mycloud.greenhousedata.com/api/media/d51b0b9d-099c-499f-97f8-4fbe40ba06d7"))
            .build())
         .files(ImmutableSet.of(File.builder()
               .size(0l)
               .bytesTransferred(0l)
               .name("file")
               .link(Link.builder()
                  .rel("upload:default")
                  .href(URI.create("https://mycloud.greenhousedata.com:443/transfer/b1fdf2d0-feff-4414-a8d1-3a8d86c4ccc5/file"))
                  .build())
               .build()))
         .owner(owner())
         .build();
   }
  
   static Media cloneMedia() {
      return Media.builder()
         .size(175163392)
         .imageType(ImageType.ISO)
         .status(0)
         .name("copied test media-copy-671136ae-b8f0-4389-bca6-50e9c42268f2")
         .id("urn:vcloud:media:a6b023f2-7f90-4e89-a24d-56e0eba83a5a")
         .type("application/vnd.vmware.vcloud.media+xml")
         .href(URI.create("https://mycloud.greenhousedata.com/api/media/a6b023f2-7f90-4e89-a24d-56e0eba83a5a"))
         .link(Link.builder()
            .rel("up")
            .type("application/vnd.vmware.vcloud.vdc+xml")
            .href(URI.create("https://mycloud.greenhousedata.com/api/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f"))
            .build())
         .link(Link.builder()
            .rel("remove")
            .href(URI.create("https://mycloud.greenhousedata.com/api/media/a6b023f2-7f90-4e89-a24d-56e0eba83a5a"))
            .build())
         .description("copied by testCloneMedia()")
         .tasks(ImmutableSet.<Task>builder()
            .add(Task.builder()
                .status("running")
                .startTime(dateService.iso8601DateParse("2012-03-02T04:58:48.754-07:00"))
                .operationName("vdcCopyMedia")
                .operation("Copying Media File copied test media-copy-671136ae-b8f0-4389-bca6-50e9c42268f2(a6b023f2-7f90-4e89-a24d-56e0eba83a5a)")
                .expiryTime(dateService.iso8601DateParse("2012-05-31T04:58:48.754-06:00"))
                .name("task")
                .id("urn:vcloud:task:7e4f6baf-7ef0-43ea-93cc-62cc329afb5d")
                .type("application/vnd.vmware.vcloud.task+xml")
                .href(URI.create("https://mycloud.greenhousedata.com/api/task/7e4f6baf-7ef0-43ea-93cc-62cc329afb5d"))
                .link(Link.builder()
                   .rel("task:cancel")
                   .href(URI.create("https://mycloud.greenhousedata.com/api/task/7e4f6baf-7ef0-43ea-93cc-62cc329afb5d/action/cancel"))
                   .build())
                .owner(Reference.builder()
                   .type("application/vnd.vmware.vcloud.media+xml")
                   .name("copied test media-copy-671136ae-b8f0-4389-bca6-50e9c42268f2")
                   .href(URI.create("https://mycloud.greenhousedata.com/api/media/a6b023f2-7f90-4e89-a24d-56e0eba83a5a"))
                   .build())
                .user(Reference.builder()
                   .type("application/vnd.vmware.admin.user+xml")
                   .name("acole")
                   .href(URI.create("https://mycloud.greenhousedata.com/api/admin/user/c090335b-708c-4c1c-9e3d-89560d002120"))
                   .build())
                .org(Reference.builder()
                   .type("application/vnd.vmware.vcloud.org+xml")
                   .name("cloudsoft")
                   .href(URI.create("https://mycloud.greenhousedata.com/api/org/c076f90a-397a-49fa-89b8-b294c1599cd0"))
                   .build())
                .build())
             .build())
         .owner(owner())
         .build();
   }
  
   private static Media getMedia() {
      return Media.builder()
         .size(175163392)
         .imageType(ImageType.ISO)
         .status(1)
         .name("DansTestMedia")
         .id("urn:vcloud:media:794eb334-754e-4917-b5a0-5df85cbd61d1")
         .href(URI.create("https://mycloud.greenhousedata.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1"))
         .link(Link.builder()
               .rel("up")
               .type("application/vnd.vmware.vcloud.vdc+xml")
               .href(URI.create("https://mycloud.greenhousedata.com/api/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f"))
               .build())
         .link(Link.builder()
            .rel("catalogItem")
            .type("application/vnd.vmware.vcloud.catalogItem+xml")
            .href(URI.create("https://mycloud.greenhousedata.com/api/catalogItem/1979d680-304e-4118-9283-9210c3b3ed8d"))
            .build())
         .link(Link.builder()
            .rel("remove")
            .href(URI.create("https://mycloud.greenhousedata.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1"))
            .build())
         .link(Link.builder()
            .rel("edit")
            .type("application/vnd.vmware.vcloud.media+xml")
            .href(URI.create("https://mycloud.greenhousedata.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1"))
            .build())
         .link(Link.builder()
            .rel("down")
            .type("application/vnd.vmware.vcloud.owner+xml")
            .href(URI.create("https://mycloud.greenhousedata.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1/owner"))
            .build())
         .link(Link.builder()
            .rel("down")
            .type("application/vnd.vmware.vcloud.metadata+xml")
            .href(URI.create("https://mycloud.greenhousedata.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1/metadata"))
            .build())
         .type("application/vnd.vmware.vcloud.media+xml")
         .description("Windows 2003 R2 Disk2 Standard 32bit & 64bit")
         .owner(owner())
         .build();
   }
  
   private static Media editMedia() {
      return Media.builder()
         .size(175163392)
         .imageType(ImageType.ISO)
         .status(1)
         .name("new testMedia1")
         .id("urn:vcloud:media:c93e5cdc-f29a-4749-8ed2-093df04cc75e")
         .type("application/vnd.vmware.vcloud.media+xml")
         .href(URI.create("https://mycloud.greenhousedata.com/api/media/c93e5cdc-f29a-4749-8ed2-093df04cc75e"))
         .link(Link.builder()
            .rel("up")
            .type("application/vnd.vmware.vcloud.vdc+xml")
            .href(URI.create("https://mycloud.greenhousedata.com/api/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f"))
            .build())
         .link(Link.builder()
            .rel("catalogItem")
            .type("application/vnd.vmware.vcloud.catalogItem+xml")
            .href(URI.create("https://mycloud.greenhousedata.com/api/catalogItem/1b317eb9-0e25-429a-ada2-3c7a74a0367b"))
            .build())
         .link(Link.builder()
            .rel("remove")
            .href(URI.create("https://mycloud.greenhousedata.com/api/media/c93e5cdc-f29a-4749-8ed2-093df04cc75e"))
            .build())
         .link(Link.builder()
            .rel("edit")
            .type("application/vnd.vmware.vcloud.media+xml")
            .href(URI.create("https://mycloud.greenhousedata.com/api/media/c93e5cdc-f29a-4749-8ed2-093df04cc75e"))
            .build())
         .link(Link.builder()
            .rel("down")
            .type("application/vnd.vmware.vcloud.owner+xml")
            .href(URI.create("https://mycloud.greenhousedata.com/api/media/c93e5cdc-f29a-4749-8ed2-093df04cc75e/owner"))
            .build())
         .link(Link.builder()
            .rel("down")
            .type("application/vnd.vmware.vcloud.metadata+xml")
            .href(URI.create("https://mycloud.greenhousedata.com/api/media/c93e5cdc-f29a-4749-8ed2-093df04cc75e/metadata"))
            .build())
         .description("new test description")
         .owner(Owner.builder()
            .type("application/vnd.vmware.vcloud.owner+xml")
            .user(Reference.builder()
               .type("application/vnd.vmware.admin.user+xml")
               .name("dan")
               .href(URI.create("https://mycloud.greenhousedata.com/api/admin/user/7818d31c-df33-4d77-9bbc-0a0741cf3d44"))
               .build())
            .build())
         .build();
   }
  
   private static Task editMediaTask() {
      return Task.builder()
            .name("task")
            .id("urn:vcloud:task:c6dca927-eab4-41fa-ad6a-3ac58602541c")
            .type("application/vnd.vmware.vcloud.task+xml")
            .href(URI.create("https://vcloudbeta.bluelock.com/api/task/c6dca927-eab4-41fa-ad6a-3ac58602541c"))
            .status("running")
            .startTime(dateService.iso8601DateParse("2012-02-13T06:35:08.011-05:00"))
            .expiryTime(dateService.iso8601DateParse("2012-05-13T06:35:08.011-04:00"))
            .operationName("mediaUpdate")
            .operation("Updating Media (794eb334-754e-4917-b5a0-5df85cbd61d1)")
            .link(Link.builder()
                  .rel("task:cancel")
                  .href(URI.create("https://vcloudbeta.bluelock.com/api/task/c6dca927-eab4-41fa-ad6a-3ac58602541c/action/cancel"))
                  .build())
            .owner(Reference.builder()
                  .type("application/vnd.vmware.vcloud.media+xml")
                  .name("")
                  .href(URI.create("https://vcloudbeta.bluelock.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1"))
                  .build())
            .user(Reference.builder()
                  .type("application/vnd.vmware.admin.user+xml")
                  .name("adk@cloudsoftcorp.com")
                  .href(URI.create("https://vcloudbeta.bluelock.com/api/admin/user/e9eb1b29-0404-4c5e-8ef7-e584acc51da9"))
                  .build())
            .org(Reference.builder()
                  .type("application/vnd.vmware.vcloud.org+xml")
                  .name("JClouds")
                  .href(URI.create("https://vcloudbeta.bluelock.com/api/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0"))
                  .build())
            .build();
   }
  
   public static Task removeMediaTask() {
      return Task.builder()
         .name("task")
         .id("urn:vcloud:task:c6dca927-eab4-41fa-ad6a-3ac58602541c")
         .type("application/vnd.vmware.vcloud.task+xml")
         .href(URI.create("https://vcloudbeta.bluelock.com/api/task/c6dca927-eab4-41fa-ad6a-3ac58602541c"))
         .status("running")
         .startTime(dateService.iso8601DateParse("2012-02-13T06:35:08.011-05:00"))
         .expiryTime(dateService.iso8601DateParse("2012-05-13T06:35:08.011-04:00"))
         .operationName("vdcDeleteMedia")
         .operation("Deleting Media File (794eb334-754e-4917-b5a0-5df85cbd61d1)")
         .link(Link.builder()
               .rel("task:cancel")
               .href(URI.create("https://vcloudbeta.bluelock.com/api/task/c6dca927-eab4-41fa-ad6a-3ac58602541c/action/cancel"))
               .build())
         .owner(Reference.builder()
               .type("application/vnd.vmware.vcloud.media+xml")
               .name("")
               .href(URI.create("https://vcloudbeta.bluelock.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1"))
               .build())
         .user(Reference.builder()
               .type("application/vnd.vmware.admin.user+xml")
               .name("adk@cloudsoftcorp.com")
               .href(URI.create("https://vcloudbeta.bluelock.com/api/admin/user/e9eb1b29-0404-4c5e-8ef7-e584acc51da9"))
               .build())
         .org(Reference.builder()
               .type("application/vnd.vmware.vcloud.org+xml")
               .name("JClouds")
               .href(URI.create("https://vcloudbeta.bluelock.com/api/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0"))
               .build())
         .build();
   }
  
   private static Owner owner() {
      return Owner.builder()
      .type("application/vnd.vmware.vcloud.owner+xml")
      .user(Reference.builder()
         .type("application/vnd.vmware.admin.user+xml")
         .name("acole")
         .href(URI.create("https://mycloud.greenhousedata.com/api/admin/user/c090335b-708c-4c1c-9e3d-89560d002120"))
         .build())
      .build();
   }
  
   private static Metadata metadata() {
      return Metadata.builder()
         .type("application/vnd.vmware.vcloud.metadata+xml")
         .href(URI.create("https://mycloud.greenhousedata.com/api/media/c93e5cdc-f29a-4749-8ed2-093df04cc75e/metadata"))
         .link(Link.builder()
            .rel("up")
            .type("application/vnd.vmware.vcloud.media+xml")
            .href(URI.create("https://mycloud.greenhousedata.com/api/media/c93e5cdc-f29a-4749-8ed2-093df04cc75e"))
            .build())
         .link(Link.builder()
            .rel("add")
            .type("application/vnd.vmware.vcloud.metadata+xml")
            .href(URI.create("https://mycloud.greenhousedata.com/api/media/c93e5cdc-f29a-4749-8ed2-093df04cc75e/metadata"))
            .build())
         .entry(MetadataEntry.builder()
             .type("application/vnd.vmware.vcloud.metadata.value+xml")
             .href(URI.create("https://mycloud.greenhousedata.com/api/media/c93e5cdc-f29a-4749-8ed2-093df04cc75e/metadata/key"))
             .link(Link.builder()
               .rel("up")
               .type("application/vnd.vmware.vcloud.metadata+xml")
               .href(URI.create("https://mycloud.greenhousedata.com/api/media/c93e5cdc-f29a-4749-8ed2-093df04cc75e/metadata"))
               .build())
            .link(Link.builder()
               .rel("edit")
               .type("application/vnd.vmware.vcloud.metadata.value+xml")
               .href(URI.create("https://mycloud.greenhousedata.com/api/media/c93e5cdc-f29a-4749-8ed2-093df04cc75e/metadata/key"))
               .build())
             .link(Link.builder()
               .rel("remove")
               .href(URI.create("https://mycloud.greenhousedata.com/api/media/c93e5cdc-f29a-4749-8ed2-093df04cc75e/metadata/key"))
               .build())
             .key("key").value("value").build())
         .build();
   }
  
   private Task mergeMetadataTask() {
      return Task.builder()
         .status("running")
         .startTime(dateService.iso8601DateParse("2012-02-13T06:35:08.011-05:00"))
         .operationName("metadataUpdate")
         .operation("Updating metadata for Media File (794eb334-754e-4917-b5a0-5df85cbd61d1)")
         .expiryTime(dateService.iso8601DateParse("2012-05-13T06:35:08.011-04:00"))
         .name("task")
         .id("urn:vcloud:task:c6dca927-eab4-41fa-ad6a-3ac58602541c")
         .type("application/vnd.vmware.vcloud.task+xml")
         .href(URI.create("https://vcloudbeta.bluelock.com/api/task/c6dca927-eab4-41fa-ad6a-3ac58602541c"))
         .link(Link.builder()
            .rel("task:cancel")
            .href(URI.create("https://vcloudbeta.bluelock.com/api/task/c6dca927-eab4-41fa-ad6a-3ac58602541c/action/cancel"))
            .build())
         .owner(Reference.builder()
            .type("application/vnd.vmware.vcloud.media+xml")
            .name("")
            .href(URI.create("https://vcloudbeta.bluelock.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1"))
            .build())
         .user(Reference.builder()
               .type("application/vnd.vmware.admin.user+xml")
               .name("adk@cloudsoftcorp.com")
               .href(URI.create("https://vcloudbeta.bluelock.com/api/admin/user/e9eb1b29-0404-4c5e-8ef7-e584acc51da9"))
               .build())
         .org(Reference.builder()
               .type("application/vnd.vmware.vcloud.org+xml")
               .name("JClouds")
               .href(URI.create("https://vcloudbeta.bluelock.com/api/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0"))
               .build())
         .build();
   }
  
   private Task setMetadataEntryTask() {
      return Task.builder()
         .status("running")
         .startTime(dateService.iso8601DateParse("2012-02-13T06:35:08.011-05:00"))
         .operationName("metadataUpdate")
         .operation("Updating metadata for Media File (794eb334-754e-4917-b5a0-5df85cbd61d1)")
         .expiryTime(dateService.iso8601DateParse("2012-05-13T06:35:08.011-04:00"))
         .name("task")
         .id("urn:vcloud:task:c6dca927-eab4-41fa-ad6a-3ac58602541c")
         .type("application/vnd.vmware.vcloud.task+xml")
         .href(URI.create("https://vcloudbeta.bluelock.com/api/task/c6dca927-eab4-41fa-ad6a-3ac58602541c"))
         .link(Link.builder()
            .rel("task:cancel")
            .href(URI.create("https://vcloudbeta.bluelock.com/api/task/c6dca927-eab4-41fa-ad6a-3ac58602541c/action/cancel"))
            .build())
         .owner(Reference.builder()
            .type("application/vnd.vmware.vcloud.media+xml")
            .name("")
            .href(URI.create("https://vcloudbeta.bluelock.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1"))
            .build())
         .user(Reference.builder()
               .type("application/vnd.vmware.admin.user+xml")
               .name("adk@cloudsoftcorp.com")
               .href(URI.create("https://vcloudbeta.bluelock.com/api/admin/user/e9eb1b29-0404-4c5e-8ef7-e584acc51da9"))
               .build())
         .org(Reference.builder()
               .type("application/vnd.vmware.vcloud.org+xml")
               .name("JClouds")
               .href(URI.create("https://vcloudbeta.bluelock.com/api/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0"))
               .build())
         .build();
   }
  
   public static Task removeTask() {
      return Task.builder()
         .name("task")
         .id("urn:vcloud:task:c6dca927-eab4-41fa-ad6a-3ac58602541c")
         .type("application/vnd.vmware.vcloud.task+xml")
         .href(URI.create("https://vcloudbeta.bluelock.com/api/task/c6dca927-eab4-41fa-ad6a-3ac58602541c"))
         .status("running")
         .startTime(dateService.iso8601DateParse("2012-02-13T06:35:08.011-05:00"))
         .expiryTime(dateService.iso8601DateParse("2012-05-13T06:35:08.011-04:00"))
         .operationName("metadataDelete")
         .operation("Deleting metadata for Media File (794eb334-754e-4917-b5a0-5df85cbd61d1)")
         .link(Link.builder()
               .rel("task:cancel")
               .href(URI.create("https://vcloudbeta.bluelock.com/api/task/c6dca927-eab4-41fa-ad6a-3ac58602541c/action/cancel"))
               .build())
         .owner(Reference.builder()
               .type("application/vnd.vmware.vcloud.media+xml")
               .name("")
               .href(URI.create("https://vcloudbeta.bluelock.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1"))
               .build())
         .user(Reference.builder()
               .type("application/vnd.vmware.admin.user+xml")
               .name("adk@cloudsoftcorp.com")
               .href(URI.create("https://vcloudbeta.bluelock.com/api/admin/user/e9eb1b29-0404-4c5e-8ef7-e584acc51da9"))
               .build())
         .org(Reference.builder()
               .type("application/vnd.vmware.vcloud.org+xml")
               .name("JClouds")
               .href(URI.create("https://vcloudbeta.bluelock.com/api/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0"))
               .build())
         .build();
   }
}
TOP

Related Classes of org.jclouds.vcloud.director.v1_5.features.MediaApiExpectTest

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.