Package com.microsoft.windowsazure.management

Source Code of com.microsoft.windowsazure.management.ManagementClientTests

/**
* Copyright Microsoft Corporation
*
* 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.microsoft.windowsazure.management;

import java.net.URI;
import java.util.Map;

import junit.framework.Assert;

import org.junit.Test;

import com.microsoft.windowsazure.Configuration;
import com.microsoft.windowsazure.core.Builder;
import com.microsoft.windowsazure.credentials.SubscriptionCloudCredentials;
import com.microsoft.windowsazure.management.configuration.ManagementConfiguration;
import com.microsoft.windowsazure.management.models.AffinityGroupListResponse;
import com.microsoft.windowsazure.management.util.TestRequestFilter;
import com.microsoft.windowsazure.management.util.TestResponseFilter;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.filter.LoggingFilter;

public class ManagementClientTests extends ManagementIntegrationTestBase {
    @Test
    public void createWithRequestFilterLast() throws Exception {
        // reinitialize configuration from known state
        Configuration config = createConfiguration();

        managementClient = ManagementService.create(config);
       
        TestRequestFilter testFilter = new TestRequestFilter("filter1a");
        ManagementClient filteredService = managementClient.withRequestFilterLast(testFilter);
       
        // Executing operation on the filtered service should execute the filter
        AffinityGroupListResponse response = filteredService.getAffinityGroupsOperations().list();
       
        Assert.assertEquals(200, response.getStatusCode());
        Assert.assertEquals(1, testFilter.getCalled());
       
        // Make sure the filter executes twice
        response = filteredService.getAffinityGroupsOperations().list();
       
        Assert.assertEquals(200, response.getStatusCode());
        Assert.assertEquals(2, testFilter.getCalled());
    }
   
    @Test
    public void createWithRequestLastRespectsOrder() throws Exception {
        // reinitialize configuration from known state
        Configuration config = createConfiguration();

        // add LoggingFilter to any pipeline that is created
        Builder.Registry builder = (Builder.Registry) config.getBuilder();
        builder.alter(ManagementClient.class, Client.class, new Builder.Alteration<Client>() {
            @Override
            public Client alter(String profile, Client client, Builder builder, Map<String, Object> properties) {
                client.addFilter(new LoggingFilter());
                return client;
            }
        });

        managementClient = ManagementService.create(config);
       
        TestRequestFilter testFilter1 = new TestRequestFilter("filter1b");
        TestRequestFilter testFilter2 = new TestRequestFilter("filter2b");
        ManagementClient filteredService = managementClient.withRequestFilterLast(testFilter1);
        filteredService = filteredService.withRequestFilterLast(testFilter2);
       
        // Executing operation on the filtered service should execute the filter
        AffinityGroupListResponse response = filteredService.getAffinityGroupsOperations().list();
       
        Assert.assertEquals(200, response.getStatusCode());
        Assert.assertEquals(0, testFilter1.getCalled());
        Assert.assertEquals(1, testFilter2.getCalled());
       
        // Make sure the filter executes twice
        response = filteredService.getAffinityGroupsOperations().list();
       
        Assert.assertEquals(200, response.getStatusCode());
        Assert.assertEquals(0, testFilter1.getCalled());
        Assert.assertEquals(2, testFilter2.getCalled());
    }
   
    @Test
    public void createWithRequestFirstRespectsOrder() throws Exception {
        // reinitialize configuration from known state
        Configuration config = createConfiguration();

        // add LoggingFilter to any pipeline that is created
        Builder.Registry builder = (Builder.Registry) config.getBuilder();
        builder.alter(ManagementClient.class, Client.class, new Builder.Alteration<Client>() {
            @Override
            public Client alter(String profile, Client client, Builder builder, Map<String, Object> properties) {
                client.addFilter(new LoggingFilter());
                return client;
            }
        });

        managementClient = ManagementService.create(config);
       
        TestRequestFilter testFilter1 = new TestRequestFilter("filter1c");
        TestRequestFilter testFilter2 = new TestRequestFilter("filter2c");
        ManagementClient filteredService = managementClient.withRequestFilterFirst(testFilter1);
        filteredService = filteredService.withRequestFilterFirst(testFilter2);
       
        // Executing operation on the filtered service should execute the filter
        AffinityGroupListResponse response = filteredService.getAffinityGroupsOperations().list();
       
        Assert.assertEquals(200, response.getStatusCode());
        Assert.assertEquals(1, testFilter1.getCalled());
        Assert.assertEquals(0, testFilter2.getCalled());
       
        // Make sure the filter executes twice
        response = filteredService.getAffinityGroupsOperations().list();
       
        Assert.assertEquals(200, response.getStatusCode());
        Assert.assertEquals(2, testFilter1.getCalled());
        Assert.assertEquals(0, testFilter2.getCalled());
    }
   
    @Test
    public void createWithResponseLastRespectsOrder() throws Exception {
        // reinitialize configuration from known state
        Configuration config = createConfiguration();

        // add LoggingFilter to any pipeline that is created
        Builder.Registry builder = (Builder.Registry) config.getBuilder();
        builder.alter(ManagementClient.class, Client.class, new Builder.Alteration<Client>() {
            @Override
            public Client alter(String profile, Client client, Builder builder, Map<String, Object> properties) {
                client.addFilter(new LoggingFilter());
                return client;
            }
        });

        managementClient = ManagementService.create(config);
       
        TestResponseFilter testFilter1 = new TestResponseFilter("filter1b");
        TestResponseFilter testFilter2 = new TestResponseFilter("filter2b");
        ManagementClient filteredService = managementClient.withResponseFilterLast(testFilter1);
        filteredService = filteredService.withResponseFilterLast(testFilter2);
       
        // Executing operation on the filtered service should execute the filter
        AffinityGroupListResponse response = filteredService.getAffinityGroupsOperations().list();
       
        Assert.assertEquals(200, response.getStatusCode());
        Assert.assertEquals(0, testFilter1.getCalled());
        Assert.assertEquals(1, testFilter2.getCalled());
       
        // Make sure the filter executes twice
        response = filteredService.getAffinityGroupsOperations().list();
       
        Assert.assertEquals(200, response.getStatusCode());
        Assert.assertEquals(0, testFilter1.getCalled());
        Assert.assertEquals(2, testFilter2.getCalled());
    }
   
    @Test
    public void createWithResponseFirstRespectsOrder() throws Exception {
        // reinitialize configuration from known state
        Configuration config = createConfiguration();

        // add LoggingFilter to any pipeline that is created
        Builder.Registry builder = (Builder.Registry) config.getBuilder();
        builder.alter(ManagementClient.class, Client.class, new Builder.Alteration<Client>() {
            @Override
            public Client alter(String profile, Client client, Builder builder, Map<String, Object> properties) {
                client.addFilter(new LoggingFilter());
                return client;
            }
        });

        managementClient = ManagementService.create(config);
       
        TestResponseFilter testFilter1 = new TestResponseFilter("filter1c");
        TestResponseFilter testFilter2 = new TestResponseFilter("filter2c");
        ManagementClient filteredService = managementClient.withResponseFilterFirst(testFilter1);
        filteredService = filteredService.withResponseFilterFirst(testFilter2);
       
        // Executing operation on the filtered service should execute the filter
        AffinityGroupListResponse response = filteredService.getAffinityGroupsOperations().list();
       
        Assert.assertEquals(200, response.getStatusCode());
        Assert.assertEquals(1, testFilter1.getCalled());
        Assert.assertEquals(0, testFilter2.getCalled());
       
        // Make sure the filter executes twice
        response = filteredService.getAffinityGroupsOperations().list();
       
        Assert.assertEquals(200, response.getStatusCode());
        Assert.assertEquals(2, testFilter1.getCalled());
        Assert.assertEquals(0, testFilter2.getCalled());
    }
   
    @Test
    public void getCredential() throws Exception {
        // reinitialize configuration from known state
        Configuration config = createConfiguration();

        // add LoggingFilter to any pipeline that is created
        Builder.Registry builder = (Builder.Registry) config.getBuilder();
        builder.alter(ManagementClient.class, Client.class, new Builder.Alteration<Client>() {
            @Override
            public Client alter(String profile, Client client, Builder builder, Map<String, Object> properties) {
                client.addFilter(new LoggingFilter());
                return client;
            }
        });

        managementClient = ManagementService.create(config);
       
        SubscriptionCloudCredentials subscriptionCloudCredentials = managementClient.getCredentials();     
       
        Assert.assertNotNull(subscriptionCloudCredentials.getSubscriptionId());         
    }
   
    @Test
    public void getUri() throws Exception {
        // reinitialize configuration from known state
        Configuration config = createConfiguration();
        config.setProperty(ManagementConfiguration.URI, null);

        // add LoggingFilter to any pipeline that is created
        Builder.Registry builder = (Builder.Registry) config.getBuilder();
        builder.alter(ManagementClient.class, Client.class, new Builder.Alteration<Client>() {
            @Override
            public Client alter(String profile, Client client, Builder builder, Map<String, Object> properties) {
                client.addFilter(new LoggingFilter());
                return client;
            }
        });

        managementClient = ManagementService.create(config);
       
        URI uri = managementClient.getBaseUri();
        URI expectUri = new URI("https://management.core.windows.net");
       
        Assert.assertEquals(expectUri.getHost(), uri.getHost());    
    }
}
TOP

Related Classes of com.microsoft.windowsazure.management.ManagementClientTests

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.