Package org.apache.cxf.transport.http.policy

Source Code of org.apache.cxf.transport.http.policy.ServerPolicyCalculatorTest

/**
* 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.apache.cxf.transport.http.policy;

import org.apache.cxf.transport.http.policy.impl.ServerPolicyCalculator;
import org.apache.cxf.transports.http.configuration.HTTPServerPolicy;
import org.junit.Assert;
import org.junit.Test;

public class ServerPolicyCalculatorTest extends Assert {
    @Test
    public void testCompatibleServerPolicies() {
        ServerPolicyCalculator spc = new ServerPolicyCalculator();
        HTTPServerPolicy p1 = new HTTPServerPolicy();
        assertTrue("Policy is not compatible with itself.", spc.compatible(p1, p1));
        HTTPServerPolicy p2 = new HTTPServerPolicy();
        assertTrue("Policies are not compatible.", spc.compatible(p1, p2));
        p1.setServerType("server");
        assertTrue("Policies are not compatible.", spc.compatible(p1, p2));
        p1.setServerType(null);
        p1.setReceiveTimeout(10000);
        assertTrue("Policies are not compatible.", spc.compatible(p1, p2));
        p1.setSuppressClientSendErrors(false);
        assertTrue("Policies are compatible.", spc.compatible(p1, p2));
        p1.setSuppressClientSendErrors(true);
        assertTrue("Policies are compatible.", !spc.compatible(p1, p2));
        p2.setSuppressClientSendErrors(true);
        assertTrue("Policies are compatible.", spc.compatible(p1, p2));
    }
       
    @Test
    public void testIntersectServerPolicies() {
        ServerPolicyCalculator spc = new ServerPolicyCalculator();
        HTTPServerPolicy p1 = new HTTPServerPolicy();
        HTTPServerPolicy p2 = new HTTPServerPolicy();
        HTTPServerPolicy p = null;

        p1.setServerType("server");
        p = spc.intersect(p1, p2);
        assertEquals("server", p.getServerType());
        p1.setServerType(null);
        p1.setReceiveTimeout(10000L);
        p = spc.intersect(p1, p2);
        assertEquals(10000L, p.getReceiveTimeout());
        p1.setSuppressClientSendErrors(true);
        p2.setSuppressClientSendErrors(true);
        p = spc.intersect(p1, p2);
        assertTrue(p.isSuppressClientSendErrors());
    }

   
    @Test
    public void testEqualServerPolicies() {
        ServerPolicyCalculator spc = new ServerPolicyCalculator();
        HTTPServerPolicy p1 = new HTTPServerPolicy();
        assertTrue(spc.equals(p1, p1));
        HTTPServerPolicy p2 = new HTTPServerPolicy();       
        assertTrue(spc.equals(p1, p2));
        p1.setContentEncoding("encoding");
        assertTrue(!spc.equals(p1, p2));
        p2.setContentEncoding("encoding");
        assertTrue(spc.equals(p1, p2));
        p1.setSuppressClientSendErrors(true);
        assertTrue(!spc.equals(p1, p2));
    }
}
TOP

Related Classes of org.apache.cxf.transport.http.policy.ServerPolicyCalculatorTest

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.