/*******************************************************************************
* Copyright (c) 2006-2010 eBay 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
*******************************************************************************/
package org.ebayopensource.turmeric.runtime.tests.common.sif.version;
import java.util.Map;
import javax.xml.ws.Dispatch;
import javax.xml.ws.Response;
import org.ebayopensource.turmeric.runtime.common.types.SOAHeaders;
import org.ebayopensource.turmeric.runtime.sif.service.ResponseContext;
import org.ebayopensource.turmeric.runtime.sif.service.Service;
import org.ebayopensource.turmeric.runtime.tests.common.sif.BaseCallTest;
import org.ebayopensource.turmeric.runtime.tests.common.sif.Test1Driver;
import org.ebayopensource.turmeric.runtime.tests.common.sif.Test1Driver.TestMode;
import org.ebayopensource.turmeric.runtime.tests.service1.sample.types1.MyMessage;
import org.junit.Assert;
/**
*
*/
public abstract class BaseVersionTest extends BaseCallTest {
public BaseVersionTest() throws Exception {
super();
}
public BaseVersionTest(String configRoot)
throws Exception {
super(configRoot);
}
protected class Verifier implements Test1Driver.SuccessVerifier {
private final String m_expectedVersion;
Verifier(String expectedVersion) {
m_expectedVersion = expectedVersion;
}
@Override
public void checkSuccess(Service service, String opName,
MyMessage request, MyMessage response, byte[] payloadData)
throws Exception {
ResponseContext ctx = service.getResponseContext();
String version = ctx.getTransportHeader(SOAHeaders.VERSION);
Assert.assertTrue(version != null
&& version.equalsIgnoreCase(m_expectedVersion));
}
@Override
@SuppressWarnings("rawtypes")
public void checkSuccess(Service service, Dispatch dispatch,
Response futureResponse, MyMessage request, MyMessage response,
byte[] payloadData, TestMode mode) throws Exception {
Map ctx = null;
if (mode.equals(TestMode.ASYNC_SYNC))
ctx = dispatch.getResponseContext();
else
ctx = futureResponse.getContext();
String version = (String) ctx.get(SOAHeaders.VERSION);
Assert.assertTrue(version != null
&& version.equalsIgnoreCase(m_expectedVersion));
}
}
}