Package com.springsource.insight.plugin.servlet

Source Code of com.springsource.insight.plugin.servlet.ServletEndPointAnalyzerTest

/**
* Copyright (c) 2009-2011 VMware, Inc. All Rights Reserved.
*
* 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.springsource.insight.plugin.servlet;

import org.junit.Test;

import com.springsource.insight.collection.test.AbstractCollectionTestSupport;
import com.springsource.insight.intercept.application.ApplicationName;
import com.springsource.insight.intercept.endpoint.EndPointAnalysis;
import com.springsource.insight.intercept.endpoint.EndPointName;
import com.springsource.insight.intercept.operation.Operation;
import com.springsource.insight.intercept.operation.OperationFields;
import com.springsource.insight.intercept.operation.OperationType;
import com.springsource.insight.intercept.trace.Frame;
import com.springsource.insight.intercept.trace.SimpleFrameBuilder;
import com.springsource.insight.intercept.trace.Trace;
import com.springsource.insight.intercept.trace.TraceId;

public class ServletEndPointAnalyzerTest extends AbstractCollectionTestSupport {
    private final ApplicationName appKey = ApplicationName.valueOf("app");
    private final ServletEndPointAnalyzer analyzer = ServletEndPointAnalyzer.getInstance();

    public ServletEndPointAnalyzerTest() {
        super();
    }

    @Test
    public void testLocateEndPoint() {
        Trace trace = createServletEndPointTrace();
        EndPointAnalysis analysis = analyzer.locateEndPoint(trace);
        assertEquals("Mismatched label", "Servlet: My stuff / servlet", analysis.getResourceLabel());
        assertEquals("Mismatched end point", EndPointName.valueOf("My stuff _ servlet"), analysis.getEndPointName());
        assertEquals("Mismatched example", "GET /path?fuu=bar", analysis.getExample());
    }

    @Test
    public void testLocateEndPointNoHttp() {
        Trace trace = createNonHttpTrace();
        EndPointAnalysis analysis = analyzer.locateEndPoint(trace);
        assertNull("Unexpected success: " + analysis, analysis);
    }

    private Trace createNonHttpTrace() {
        SimpleFrameBuilder builder = new SimpleFrameBuilder();
        builder.enter(new Operation());
        Frame topLevelFrame = builder.exit();
        return Trace.newInstance(appKey, TraceId.valueOf("0"), topLevelFrame);

    }

    private Trace createServletEndPointTrace() {
        SimpleFrameBuilder builder = new SimpleFrameBuilder();
        Operation httpOp = new Operation().type(OperationType.HTTP);
        httpOp.createMap("request")
                .put(OperationFields.URI, "/path?fuu=bar")
                .put("method", "GET")
                .put("servletName", "My stuff / servlet");
        builder.enter(httpOp);
        Frame httpFrame = builder.exit();
        return Trace.newInstance(appKey, TraceId.valueOf("0"), httpFrame);
    }

}
TOP

Related Classes of com.springsource.insight.plugin.servlet.ServletEndPointAnalyzerTest

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.