[OLINGO-1191]Code Improvements
This commit is contained in:
parent
f564c4a187
commit
c37d40f154
|
@ -0,0 +1,89 @@
|
|||
/*
|
||||
* 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.olingo.client.core.communication.request;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
import org.apache.olingo.client.api.ODataClient;
|
||||
import org.apache.olingo.client.api.communication.request.ODataBatchableRequest;
|
||||
import org.apache.olingo.client.api.domain.ClientInvokeResult;
|
||||
import org.apache.olingo.client.core.ODataClientFactory;
|
||||
import org.apache.olingo.client.core.communication.request.AsyncRequestWrapperImpl.AsyncResponseWrapperImpl;
|
||||
import org.apache.olingo.client.core.communication.request.batch.ODataBatchRequestImpl;
|
||||
import org.apache.olingo.client.core.communication.request.invoke.ODataInvokeRequestImpl;
|
||||
import org.apache.olingo.commons.api.http.HttpMethod;
|
||||
import org.junit.Test;
|
||||
|
||||
public class AsyncRequestWrapperTest {
|
||||
|
||||
@Test
|
||||
public void testBatchReq() throws URISyntaxException {
|
||||
|
||||
ODataClient client = ODataClientFactory.getClient();
|
||||
URI uri = new URI("localhost:8080");
|
||||
AsyncBatchRequestWrapperImpl req = new AsyncBatchRequestWrapperImpl(client,
|
||||
client.getBatchRequestFactory().getBatchRequest("root"));
|
||||
assertNotNull(req.addChangeset());
|
||||
ODataBatchableRequest request = new ODataInvokeRequestImpl<ClientInvokeResult>(
|
||||
client, ClientInvokeResult.class, HttpMethod.GET, uri);
|
||||
req.addRetrieve(request );
|
||||
req.addOutsideUpdate(request);
|
||||
assertNotNull(client.getAsyncRequestFactory().getAsyncRequestWrapper(request));
|
||||
ODataBatchRequestImpl batchRequest = new ODataBatchRequestImpl(client, uri);
|
||||
assertNotNull(client.getAsyncRequestFactory().getAsyncBatchRequestWrapper(batchRequest ));
|
||||
assertNotNull(req.wait(10));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testReq() throws URISyntaxException {
|
||||
|
||||
ODataClient client = ODataClientFactory.getClient();
|
||||
URI uri = new URI("localhost:8080");
|
||||
AsyncRequestWrapperImpl req = new AsyncRequestWrapperImpl(client,
|
||||
client.getBatchRequestFactory().getBatchRequest("root"));
|
||||
assertNotNull(req);
|
||||
ODataBatchableRequest request = new ODataInvokeRequestImpl<ClientInvokeResult>(
|
||||
client, ClientInvokeResult.class, HttpMethod.GET, uri);
|
||||
req.checkRequest(client, null);
|
||||
assertNotNull(req.callback(uri));
|
||||
req.extendHeader("header", "value");
|
||||
AsyncResponseWrapperImpl res = req.new AsyncResponseWrapperImpl();
|
||||
res.forceNextMonitorCheck(uri);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testWrapper(){
|
||||
|
||||
Wrapper wrap = new Wrapper();
|
||||
wrap.setWrapped("test");
|
||||
assertEquals("test", wrap.getWrapped());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testException(){
|
||||
|
||||
AsyncRequestException ex = new AsyncRequestException ("Exception");
|
||||
assertEquals("Exception", ex.getMessage());
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* 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.olingo.client.core.communication.request.batch;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
|
||||
import org.apache.commons.io.LineIterator;
|
||||
import org.apache.olingo.client.api.communication.request.batch.ODataBatchLineIterator;
|
||||
import org.junit.Test;
|
||||
|
||||
public class ODataBatchControllerTest {
|
||||
|
||||
@Test
|
||||
public void testController(){
|
||||
final InputStream input = getClass().getResourceAsStream("batchResponse.batch");
|
||||
Reader reader = new InputStreamReader(input);
|
||||
ODataBatchLineIterator iterator = new ODataBatchLineIteratorImpl(new LineIterator(reader ));
|
||||
ODataBatchController controller = new ODataBatchController(iterator , "changeset_12ks93js84d");
|
||||
assertNotNull(controller.getBatchLineIterator());
|
||||
assertNotNull(controller.getBoundary());
|
||||
controller.setValidBatch(true);
|
||||
assertTrue(controller.isValidBatch());
|
||||
assertTrue(iterator.hasNext());
|
||||
assertNotNull(iterator.next());
|
||||
assertNotNull(iterator.nextLine());
|
||||
assertNotNull(iterator.getCurrent());
|
||||
}
|
||||
|
||||
@Test(expected = UnsupportedOperationException.class)
|
||||
public void testControllerNeg(){
|
||||
final InputStream input = getClass().getResourceAsStream("batchResponse.batch");
|
||||
Reader reader = new InputStreamReader(input);
|
||||
ODataBatchLineIterator iterator = new ODataBatchLineIteratorImpl(new LineIterator(reader ));
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,133 @@
|
|||
/*
|
||||
* 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.olingo.client.core.communication.request.batch;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.io.LineIterator;
|
||||
import org.apache.olingo.client.api.ODataBatchConstants;
|
||||
import org.apache.olingo.client.api.ODataClient;
|
||||
import org.apache.olingo.client.api.ODataClientBuilder;
|
||||
import org.apache.olingo.client.api.communication.request.ODataBatchableRequest;
|
||||
import org.apache.olingo.client.api.communication.request.batch.ODataBatchLineIterator;
|
||||
import org.apache.olingo.client.api.communication.request.batch.ODataBatchRequest;
|
||||
import org.apache.olingo.client.api.domain.ClientInvokeResult;
|
||||
import org.apache.olingo.client.core.communication.request.invoke.ODataInvokeRequestImpl;
|
||||
import org.apache.olingo.commons.api.http.HttpMethod;
|
||||
import org.junit.Test;
|
||||
|
||||
public class ODataBatchUtilitiesTest {
|
||||
|
||||
@Test
|
||||
public void testBatchRequest(){
|
||||
ODataBatchUtilities util = new ODataBatchUtilities();
|
||||
Map<String, Collection<String>> value = new HashMap<String, Collection<String>>();
|
||||
util.addHeaderLine("header:name", value );
|
||||
value.put("header:name", null);
|
||||
util.addHeaderLine("header:name", value );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBatchConstants(){
|
||||
assertEquals("boundary", ODataBatchConstants.BOUNDARY);
|
||||
assertEquals("application/http", ODataBatchConstants.ITEM_CONTENT_TYPE );
|
||||
assertEquals("Content-Type: application/http", ODataBatchConstants.ITEM_CONTENT_TYPE_LINE );
|
||||
assertEquals("Content-Transfer-Encoding: binary",
|
||||
ODataBatchConstants.ITEM_TRANSFER_ENCODING_LINE );
|
||||
assertEquals("Content-ID", ODataBatchConstants.CHANGESET_CONTENT_ID_NAME );
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testChangeSet() throws URISyntaxException{
|
||||
ODataClient client = ODataClientBuilder.createClient();
|
||||
URI uri = new URI("test");
|
||||
final InputStream input = getClass().getResourceAsStream("batchResponse.batch");
|
||||
Reader reader = new InputStreamReader(input);
|
||||
ODataBatchLineIterator iterator = new ODataBatchLineIteratorImpl(new LineIterator(reader ));
|
||||
ODataBatchRequest req = new ODataBatchRequestImpl(client, uri);;
|
||||
ODataChangesetResponseItem expectedResItem = new ODataChangesetResponseItem(true);
|
||||
ODataChangesetImpl change = new ODataChangesetImpl(req , expectedResItem );
|
||||
assertNotNull(change);
|
||||
ODataBatchableRequest request = new ODataInvokeRequestImpl<ClientInvokeResult>(
|
||||
client, ClientInvokeResult.class, HttpMethod.POST, uri);
|
||||
change.addRequest(request);
|
||||
assertNotNull(change.getBodyStreamWriter());
|
||||
change.close();
|
||||
change.closeItem();
|
||||
assertNotNull(change.getLastContentId());
|
||||
assertTrue(change.hasStreamedSomething());
|
||||
assertFalse(change.isOpen());
|
||||
change.streamRequestHeader(request);
|
||||
change.streamRequestHeader("1");
|
||||
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testChangeSetNeg() throws URISyntaxException{
|
||||
ODataClient client = ODataClientBuilder.createClient();
|
||||
URI uri = new URI("test");
|
||||
ODataBatchRequest req = new ODataBatchRequestImpl(client, uri);;
|
||||
ODataChangesetResponseItem expectedResItem = new ODataChangesetResponseItem(true);
|
||||
ODataChangesetImpl change = new ODataChangesetImpl(req , expectedResItem );
|
||||
assertNotNull(change);
|
||||
ODataBatchableRequest request = new ODataInvokeRequestImpl<ClientInvokeResult>(
|
||||
client, ClientInvokeResult.class, HttpMethod.GET, uri);
|
||||
change.addRequest(request);
|
||||
assertNotNull(change.getBodyStreamWriter());
|
||||
change.close();
|
||||
change.closeItem();
|
||||
}
|
||||
|
||||
@Test(expected = IllegalStateException.class)
|
||||
public void testChangeSetCloseNeg() throws URISyntaxException{
|
||||
ODataClient client = ODataClientBuilder.createClient();
|
||||
URI uri = new URI("test");
|
||||
ODataBatchRequest req = new ODataBatchRequestImpl(client, uri);;
|
||||
ODataChangesetResponseItem expectedResItem = new ODataChangesetResponseItem(true);
|
||||
ODataChangesetImpl change = new ODataChangesetImpl(req , expectedResItem );
|
||||
assertNotNull(change);
|
||||
assertNotNull(change.getBodyStreamWriter());
|
||||
change.close();
|
||||
change.closeItem();
|
||||
ODataBatchableRequest request = new ODataInvokeRequestImpl<ClientInvokeResult>(
|
||||
client, ClientInvokeResult.class, HttpMethod.POST, uri);
|
||||
change.addRequest(request);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testChangeSetResponse() throws URISyntaxException{
|
||||
ODataChangesetResponseItem expectedResItem = new ODataChangesetResponseItem(true);
|
||||
expectedResItem.setUnexpected();
|
||||
assertNotNull(expectedResItem);
|
||||
expectedResItem.close();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,156 @@
|
|||
/*
|
||||
* 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.olingo.client.core.communication.request.cud;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
import org.apache.olingo.client.api.communication.request.cud.CUDRequestFactory;
|
||||
import org.apache.olingo.client.api.communication.request.cud.UpdateType;
|
||||
import org.apache.olingo.client.api.domain.ClientEntity;
|
||||
import org.apache.olingo.client.api.domain.ClientProperty;
|
||||
import org.apache.olingo.client.api.domain.ClientValue;
|
||||
import org.apache.olingo.client.core.ODataClientFactory;
|
||||
import org.apache.olingo.client.core.ODataClientImpl;
|
||||
import org.apache.olingo.client.core.domain.ClientCollectionValueImpl;
|
||||
import org.apache.olingo.client.core.domain.ClientComplexValueImpl;
|
||||
import org.apache.olingo.client.core.domain.ClientEntityImpl;
|
||||
import org.apache.olingo.client.core.domain.ClientPropertyImpl;
|
||||
import org.apache.olingo.commons.api.edm.FullQualifiedName;
|
||||
import org.junit.Test;
|
||||
|
||||
public class ODataRequestImplTest {
|
||||
|
||||
@Test
|
||||
public void testdel() throws URISyntaxException{
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("test");
|
||||
assertNotNull(client);
|
||||
CUDRequestFactory factory = client.getCUDRequestFactory();
|
||||
assertNotNull(factory);
|
||||
ODataDeleteRequestImpl del = (ODataDeleteRequestImpl) factory.getDeleteRequest(uri);
|
||||
assertNotNull(del);
|
||||
assertNotNull(del.getDefaultFormat());
|
||||
assertNull(del.getPayload());
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testcreate() throws URISyntaxException{
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("test");
|
||||
assertNotNull(client);
|
||||
CUDRequestFactory factory = client.getCUDRequestFactory();
|
||||
assertNotNull(factory);
|
||||
FullQualifiedName fqn = new FullQualifiedName("test.entity");
|
||||
ClientEntity entity = new ClientEntityImpl(fqn );
|
||||
ODataEntityCreateRequestImpl create = (ODataEntityCreateRequestImpl) factory
|
||||
.getEntityCreateRequest(uri, entity);
|
||||
assertNotNull(create);
|
||||
assertNotNull(create.getDefaultFormat());
|
||||
assertNotNull(create.getPayload());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdate() throws URISyntaxException{
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("test");
|
||||
assertNotNull(client);
|
||||
CUDRequestFactory factory = client.getCUDRequestFactory();
|
||||
assertNotNull(factory);
|
||||
FullQualifiedName fqn = new FullQualifiedName("test.entity");
|
||||
ClientEntity entity = new ClientEntityImpl(fqn );
|
||||
entity.setEditLink(uri);
|
||||
ODataEntityUpdateRequestImpl update = (ODataEntityUpdateRequestImpl) factory
|
||||
.getEntityUpdateRequest(UpdateType.PATCH, entity);
|
||||
assertNotNull(update);
|
||||
assertNotNull(update.getDefaultFormat());
|
||||
assertNotNull(update.getPayload());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdatePropColl() throws URISyntaxException{
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("test");
|
||||
assertNotNull(client);
|
||||
CUDRequestFactory factory = client.getCUDRequestFactory();
|
||||
assertNotNull(factory);
|
||||
ClientValue value = new ClientCollectionValueImpl("properties");
|
||||
ClientProperty prop = new ClientPropertyImpl("property", value );
|
||||
ODataPropertyUpdateRequestImpl update = (ODataPropertyUpdateRequestImpl) factory
|
||||
.getPropertyCollectionValueUpdateRequest(uri, prop);
|
||||
assertNotNull(update);
|
||||
assertNotNull(update.getDefaultFormat());
|
||||
assertNotNull(update.getPayload());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdatePropComplex() throws URISyntaxException{
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("test");
|
||||
assertNotNull(client);
|
||||
CUDRequestFactory factory = client.getCUDRequestFactory();
|
||||
assertNotNull(factory);
|
||||
ClientValue value = new ClientComplexValueImpl("complex");
|
||||
ClientProperty prop = new ClientPropertyImpl("property", value );
|
||||
ODataPropertyUpdateRequestImpl update = (ODataPropertyUpdateRequestImpl) factory
|
||||
.getPropertyComplexValueUpdateRequest(uri, UpdateType.PATCH, prop);
|
||||
assertNotNull(update);
|
||||
assertNotNull(update.getDefaultFormat());
|
||||
assertNotNull(update.getPayload());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdate2() throws URISyntaxException{
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("test");
|
||||
assertNotNull(client);
|
||||
CUDRequestFactory factory = client.getCUDRequestFactory();
|
||||
assertNotNull(factory);
|
||||
FullQualifiedName fqn = new FullQualifiedName("test.entity");
|
||||
ClientEntity entity = new ClientEntityImpl(fqn );
|
||||
entity.setEditLink(uri);
|
||||
ODataEntityUpdateRequestImpl update = (ODataEntityUpdateRequestImpl) factory
|
||||
.getEntityUpdateRequest(uri, UpdateType.PATCH, entity);
|
||||
assertNotNull(update);
|
||||
assertNotNull(update.getDefaultFormat());
|
||||
assertNotNull(update.getPayload());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRef() throws URISyntaxException{
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("test");
|
||||
assertNotNull(client);
|
||||
CUDRequestFactory factory = client.getCUDRequestFactory();
|
||||
assertNotNull(factory);
|
||||
FullQualifiedName fqn = new FullQualifiedName("test.entity");
|
||||
ClientEntity entity = new ClientEntityImpl(fqn );
|
||||
entity.setEditLink(uri);
|
||||
ODataReferenceAddingRequestImpl ref = (ODataReferenceAddingRequestImpl) factory
|
||||
.getReferenceAddingRequest(uri, uri, null);
|
||||
assertNotNull(ref);
|
||||
assertNotNull(ref.getDefaultFormat());
|
||||
assertNotNull(ref.getPayload());
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
/*
|
||||
* 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.olingo.client.core.communication.request.invoke;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
import org.apache.olingo.client.api.ODataClient;
|
||||
import org.apache.olingo.client.api.domain.ClientInvokeResult;
|
||||
import org.apache.olingo.client.core.ODataClientFactory;
|
||||
import org.apache.olingo.commons.api.format.ContentType;
|
||||
import org.apache.olingo.commons.api.http.HttpMethod;
|
||||
import org.junit.Test;
|
||||
|
||||
public class ODataInvokeRequestTest {
|
||||
|
||||
|
||||
@Test
|
||||
public void testRequest() throws URISyntaxException {
|
||||
ODataClient client = ODataClientFactory.getClient();
|
||||
Class<ClientInvokeResult> reference = ClientInvokeResult.class;
|
||||
HttpMethod method = HttpMethod.GET;
|
||||
URI uri = new URI("test");
|
||||
ODataInvokeRequestImpl req = new ODataInvokeRequestImpl<ClientInvokeResult>(client, reference, method, uri);
|
||||
assertNotNull(req);
|
||||
assertNotNull(req.getAccept());
|
||||
assertNotNull(req.getContentType());
|
||||
assertNotNull(req.getDefaultFormat());
|
||||
assertNotNull(req.getHeader());
|
||||
assertNotNull(req.getHeaderNames());
|
||||
assertNull(req.getIfMatch());
|
||||
assertNull(req.getIfNoneMatch());
|
||||
assertNotNull(req.getHttpRequest());
|
||||
assertNotNull(req.getMethod());
|
||||
assertNull(req.getPayload());
|
||||
assertNotNull(req.getPOSTParameterFormat());
|
||||
assertNotNull(req.getPOSTParameterFormat());
|
||||
assertNull(req.getPrefer());
|
||||
assertNotNull(req.getResponseTemplate());
|
||||
assertNotNull(req.getURI());
|
||||
assertNotNull(req.addCustomHeader("custom", "header"));
|
||||
assertNotNull(req.setAccept("json"));
|
||||
assertNotNull(req.setContentType("json"));
|
||||
req.setFormat(ContentType.APPLICATION_ATOM_XML);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,186 @@
|
|||
/*
|
||||
* 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.olingo.client.core.communication.request.retrieve;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
import org.apache.olingo.client.core.ODataClientFactory;
|
||||
import org.apache.olingo.client.core.ODataClientImpl;
|
||||
import org.apache.olingo.commons.api.format.ContentType;
|
||||
import org.junit.Test;
|
||||
|
||||
public class RetrieveRequestTest {
|
||||
|
||||
@Test
|
||||
public void testEdmMetadata() throws URISyntaxException {
|
||||
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
RetrieveRequestFactoryImpl factory = (RetrieveRequestFactoryImpl) client
|
||||
.getRetrieveRequestFactory();
|
||||
assertNotNull(factory);
|
||||
EdmMetadataRequestImpl edmMetadata = (EdmMetadataRequestImpl) factory
|
||||
.getMetadataRequest("metadata");
|
||||
assertNotNull(edmMetadata);
|
||||
assertNotNull(edmMetadata.addCustomHeader("name", "value"));
|
||||
assertNotNull(edmMetadata.getDefaultFormat());
|
||||
assertNotNull(edmMetadata.setAccept(ContentType.VALUE_ODATA_METADATA_FULL));
|
||||
assertNotNull(edmMetadata.setContentType(ContentType.VALUE_ODATA_METADATA_FULL));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testXmlMetadata() throws URISyntaxException {
|
||||
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
RetrieveRequestFactoryImpl factory = (RetrieveRequestFactoryImpl) client
|
||||
.getRetrieveRequestFactory();
|
||||
assertNotNull(factory);
|
||||
XMLMetadataRequestImpl metadata = (XMLMetadataRequestImpl) factory
|
||||
.getXMLMetadataRequest("test");
|
||||
assertNotNull(metadata);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeltaRequest() throws URISyntaxException {
|
||||
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("localhost:8080");
|
||||
RetrieveRequestFactoryImpl factory = (RetrieveRequestFactoryImpl) client
|
||||
.getRetrieveRequestFactory();
|
||||
assertNotNull(factory);
|
||||
ODataDeltaRequestImpl delta = (ODataDeltaRequestImpl) factory
|
||||
.getDeltaRequest(uri);
|
||||
assertNotNull(delta);
|
||||
assertNotNull(delta.getDefaultFormat());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEntityRequest() throws URISyntaxException {
|
||||
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("localhost:8080");
|
||||
RetrieveRequestFactoryImpl factory = (RetrieveRequestFactoryImpl) client
|
||||
.getRetrieveRequestFactory();
|
||||
assertNotNull(factory);
|
||||
ODataEntityRequestImpl req = (ODataEntityRequestImpl) factory
|
||||
.getEntityRequest(uri);
|
||||
assertNotNull(req);
|
||||
assertNotNull(req.getDefaultFormat());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEntitySetIteratorRequest() throws URISyntaxException {
|
||||
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("localhost:8080");
|
||||
RetrieveRequestFactoryImpl factory = (RetrieveRequestFactoryImpl) client
|
||||
.getRetrieveRequestFactory();
|
||||
assertNotNull(factory);
|
||||
ODataEntitySetIteratorRequestImpl req = (ODataEntitySetIteratorRequestImpl) factory
|
||||
.getEntitySetIteratorRequest(uri);
|
||||
assertNotNull(req);
|
||||
assertNotNull(req.getDefaultFormat());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEntitySetRequest() throws URISyntaxException {
|
||||
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("localhost:8080");
|
||||
RetrieveRequestFactoryImpl factory = (RetrieveRequestFactoryImpl) client
|
||||
.getRetrieveRequestFactory();
|
||||
assertNotNull(factory);
|
||||
ODataEntitySetRequestImpl req = (ODataEntitySetRequestImpl) factory
|
||||
.getEntitySetRequest(uri);
|
||||
assertNotNull(req);
|
||||
assertNotNull(req.getDefaultFormat());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMediaRequest() throws URISyntaxException {
|
||||
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("localhost","8080","","","$value");
|
||||
RetrieveRequestFactoryImpl factory = (RetrieveRequestFactoryImpl) client
|
||||
.getRetrieveRequestFactory();
|
||||
assertNotNull(factory);
|
||||
ODataMediaRequestImpl req = (ODataMediaRequestImpl) factory
|
||||
.getMediaEntityRequest(uri);
|
||||
assertNotNull(req);
|
||||
assertNotNull(req.getDefaultFormat());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPropertyRequest() throws URISyntaxException {
|
||||
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("localhost:8080");
|
||||
RetrieveRequestFactoryImpl factory = (RetrieveRequestFactoryImpl) client
|
||||
.getRetrieveRequestFactory();
|
||||
assertNotNull(factory);
|
||||
ODataPropertyRequestImpl req = (ODataPropertyRequestImpl) factory
|
||||
.getPropertyRequest(uri);
|
||||
assertNotNull(req);
|
||||
assertNotNull(req.getDefaultFormat());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRawRequest() throws URISyntaxException {
|
||||
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("localhost:8080");
|
||||
RetrieveRequestFactoryImpl factory = (RetrieveRequestFactoryImpl) client
|
||||
.getRetrieveRequestFactory();
|
||||
assertNotNull(factory);
|
||||
ODataRawRequestImpl req = (ODataRawRequestImpl) factory
|
||||
.getRawRequest(uri);
|
||||
assertNotNull(req);
|
||||
assertNotNull(req.getDefaultFormat());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testServiceDocumentRequest() throws URISyntaxException {
|
||||
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
RetrieveRequestFactoryImpl factory = (RetrieveRequestFactoryImpl) client
|
||||
.getRetrieveRequestFactory();
|
||||
assertNotNull(factory);
|
||||
ODataServiceDocumentRequestImpl req = (ODataServiceDocumentRequestImpl) factory
|
||||
.getServiceDocumentRequest("doc");
|
||||
assertNotNull(req);
|
||||
assertNotNull(req.getDefaultFormat());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValueRequest() throws URISyntaxException {
|
||||
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
URI uri = new URI("localhost:8080");
|
||||
RetrieveRequestFactoryImpl factory = (RetrieveRequestFactoryImpl) client
|
||||
.getRetrieveRequestFactory();
|
||||
assertNotNull(factory);
|
||||
ODataValueRequestImpl req = (ODataValueRequestImpl) factory
|
||||
.getValueRequest(uri);
|
||||
assertNotNull(req);
|
||||
assertNotNull(req.getDefaultFormat());
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,153 @@
|
|||
/*
|
||||
* 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.olingo.client.core.communication.response.batch;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.apache.commons.io.LineIterator;
|
||||
import org.apache.http.HttpResponse;
|
||||
import org.apache.olingo.client.api.communication.request.batch.ODataBatchLineIterator;
|
||||
import org.apache.olingo.client.api.communication.request.batch.ODataBatchResponseItem;
|
||||
import org.apache.olingo.client.api.communication.response.ODataBatchResponse;
|
||||
import org.apache.olingo.client.api.communication.response.ODataResponse;
|
||||
import org.apache.olingo.client.core.communication.request.batch.ODataBatchLineIteratorImpl;
|
||||
import org.apache.olingo.client.core.communication.request.batch.ODataBatchUtilities;
|
||||
import org.apache.olingo.client.core.communication.request.batch.ODataChangesetResponseItem;
|
||||
import org.junit.Test;
|
||||
|
||||
public class ODataBatchResponseTest {
|
||||
|
||||
@Test
|
||||
public void testBatchResponse() throws URISyntaxException {
|
||||
|
||||
ODataChangesetResponseItem expectedResItem = new ODataChangesetResponseItem(true);
|
||||
List<ODataBatchResponseItem> resList = new ArrayList<ODataBatchResponseItem>();
|
||||
resList.add(expectedResItem);
|
||||
ODataBatchResponseManager manager = new ODataBatchResponseManager(new BatchResponse(), resList );
|
||||
assertNotNull(manager);
|
||||
assertNotNull(manager.next());
|
||||
assertNotNull(manager.hasNext());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testErrorBatchResponse() throws URISyntaxException {
|
||||
Map<String, Collection<String>> header = new HashMap<String, Collection<String>>();
|
||||
List<String> list = new ArrayList<String>();
|
||||
list.add("multipart/mixed;boundary=changeset_12ks93js84d");
|
||||
header.put("content-type", list);
|
||||
final InputStream input = getClass().getResourceAsStream("batchResponse.batch");
|
||||
Reader reader = new InputStreamReader(input);
|
||||
ODataBatchLineIterator iterator = new ODataBatchLineIteratorImpl(new LineIterator(reader ));
|
||||
String boundary = "changeset_12ks93js84d";
|
||||
iterator.next();
|
||||
iterator.next();
|
||||
iterator.next();
|
||||
iterator.next();
|
||||
iterator.next();
|
||||
iterator.next();
|
||||
iterator.next();
|
||||
iterator.next();
|
||||
Entry<Integer, String> line = ODataBatchUtilities.readResponseLine(iterator);
|
||||
ODataBatchErrorResponse error = new ODataBatchErrorResponse
|
||||
(line, header, iterator, boundary );
|
||||
assertNotNull(error);
|
||||
assertNull(error.getETag());
|
||||
}
|
||||
|
||||
class BatchResponse implements ODataBatchResponse{
|
||||
|
||||
@Override
|
||||
public Collection<String> getHeaderNames() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<String> getHeader(String name) {
|
||||
List<String> list = new ArrayList<String>();
|
||||
list.add("multipart/mixed;boundary=changeset_12ks93js84d");
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getETag() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getContentType() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getStatusCode() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getStatusMessage() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InputStream getRawResponse() {
|
||||
return getClass().getResourceAsStream("batchResponse.batch");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ODataResponse initFromHttpResponse(HttpResponse res) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ODataResponse initFromBatch(Entry<Integer, String> responseLine,
|
||||
Map<String, Collection<String>> headers,
|
||||
ODataBatchLineIterator batchLineIterator, String boundary) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ODataResponse initFromEnclosedPart(InputStream part) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<ODataBatchResponseItem> getBody() {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* 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.olingo.client.core.data;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.olingo.client.api.data.ServiceDocumentItem;
|
||||
import org.junit.Test;
|
||||
|
||||
public class ServiceDocumentTest {
|
||||
|
||||
@Test
|
||||
public void testServiceDocument() {
|
||||
ServiceDocumentImpl sd = new ServiceDocumentImpl();
|
||||
assertNull(sd.getTitle());
|
||||
assertEquals(0,sd.getEntitySets().size());
|
||||
List<ServiceDocumentItem> list = new ArrayList<ServiceDocumentItem>();
|
||||
assertNull(sd.getByName(list , "test"));
|
||||
assertNull(sd.getEntitySetByName("test"));
|
||||
assertNull(sd.getFunctionImportByName("test"));
|
||||
assertNull(sd.getSingletonByName("name"));
|
||||
ServiceDocumentImpl sd2 = new ServiceDocumentImpl();
|
||||
assertTrue(sd.equals(sd2));
|
||||
assertNotNull(sd.toString());
|
||||
assertNotNull(sd.hashCode());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testServiceDocumentItem() {
|
||||
ServiceDocumentItemImpl sd = new ServiceDocumentItemImpl();
|
||||
ServiceDocumentItemImpl sd2 = new ServiceDocumentItemImpl();
|
||||
assertTrue(sd.equals(sd2));
|
||||
assertNotNull(sd.toString());
|
||||
assertNotNull(sd.hashCode());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,249 @@
|
|||
/*
|
||||
* 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.olingo.client.core.domain;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.olingo.client.api.domain.ClientDeletedEntity.Reason;
|
||||
import org.apache.olingo.client.api.domain.ClientEntity;
|
||||
import org.apache.olingo.client.api.domain.ClientInlineEntity;
|
||||
import org.apache.olingo.client.api.domain.ClientLink;
|
||||
import org.apache.olingo.client.api.domain.ClientLinkType;
|
||||
import org.apache.olingo.client.api.domain.ClientObjectFactory;
|
||||
import org.apache.olingo.client.api.domain.ClientValue;
|
||||
import org.apache.olingo.client.core.ODataClientFactory;
|
||||
import org.apache.olingo.client.core.ODataClientImpl;
|
||||
import org.apache.olingo.client.core.domain.ClientPrimitiveValueImpl.BuilderImpl;
|
||||
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
|
||||
import org.apache.olingo.commons.api.edm.FullQualifiedName;
|
||||
import org.junit.Test;
|
||||
|
||||
public class ClientObjectImplTest {
|
||||
|
||||
@Test
|
||||
public void testFactory() throws URISyntaxException {
|
||||
|
||||
ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient();
|
||||
ClientObjectFactory factory = client.getObjectFactory();
|
||||
assertNotNull(factory);
|
||||
URI uri = new URI("test");
|
||||
assertNotNull(factory.newEntitySet(uri));
|
||||
FullQualifiedName typeName = new FullQualifiedName("name.test");
|
||||
ClientEntity entity = new ClientEntityImpl(typeName );
|
||||
assertNotNull(factory.newDeepInsertEntity("test", entity));
|
||||
assertNotNull(factory.newEntity(typeName));
|
||||
assertNotNull(factory.newSingleton(typeName));
|
||||
assertNotNull(factory.newMediaEditLink("media",
|
||||
uri, "image", "W/1"));
|
||||
assertNotNull(factory.newDelta(uri));
|
||||
assertNotNull(factory.newDelta());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAnnotation(){
|
||||
ClientValue val = new ClientCollectionValueImpl<ClientValue>("test");
|
||||
ClientAnnotationImpl annotation = new ClientAnnotationImpl("term", val);
|
||||
assertFalse(annotation.hasNullValue());
|
||||
assertNull(annotation.getPrimitiveValue());
|
||||
assertTrue(annotation.hasCollectionValue());
|
||||
assertFalse(annotation.hasComplexValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCollection(){
|
||||
ClientCollectionValueImpl val = new ClientCollectionValueImpl<ClientValue>("test");
|
||||
assertNull(val.asEnum());
|
||||
ClientCollectionValueImpl val2 = new ClientCollectionValueImpl<ClientValue>("test");
|
||||
assertTrue(val.equals(val2));
|
||||
assertNotNull(val.hashCode());
|
||||
assertNotNull(val.toString());
|
||||
val.add(val2);
|
||||
assertEquals(1, val.asJavaCollection().size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testComplex() throws URISyntaxException{
|
||||
ClientComplexValueImpl val = new ClientComplexValueImpl("test");
|
||||
ClientEntity entity = new ClientEntityImpl(new FullQualifiedName("name.test"));
|
||||
ClientLink link = new ClientInlineEntity(new URI("test"), ClientLinkType.ASSOCIATION,
|
||||
"title", entity );
|
||||
assertTrue(val.addLink(link ));
|
||||
assertNull(val.asEnum());
|
||||
assertTrue(val.removeLink(link));
|
||||
ClientComplexValueImpl val2 = new ClientComplexValueImpl("test");
|
||||
assertTrue(val.equals(val2));
|
||||
assertNotNull(val.hashCode());
|
||||
assertNotNull(val.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeletedEntity() throws URISyntaxException {
|
||||
ClientDeletedEntityImpl val = new ClientDeletedEntityImpl();
|
||||
assertNotNull(val);
|
||||
val.setId(new URI("Id"));
|
||||
assertNotNull(val.getId());
|
||||
val.setReason(Reason.changed);
|
||||
assertNotNull(val.getReason());
|
||||
assertNotNull(val.hashCode());
|
||||
assertNotNull(val.toString());
|
||||
ClientDeletedEntityImpl val2 = new ClientDeletedEntityImpl();
|
||||
assertFalse(val.equals(val2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDelta() throws URISyntaxException {
|
||||
ClientDeltaImpl val = new ClientDeltaImpl();
|
||||
ClientDeltaImpl val2 = new ClientDeltaImpl(new URI("Id"));
|
||||
assertNotNull(val);
|
||||
assertNotNull(val.getAddedLinks());
|
||||
assertNotNull(val.getDeletedLinks());
|
||||
assertNotNull(val.getDeletedEntities());
|
||||
assertNotNull(val.getAnnotations());
|
||||
assertNull(val.getContextURL());
|
||||
assertNull(val.getDeltaLink());
|
||||
assertNotNull(val.getEntities());
|
||||
assertNull(val.getLink());
|
||||
assertNull(val.getName());
|
||||
assertNull(val.getNext());
|
||||
assertNotNull(val.getOperations());
|
||||
assertNotNull(val.hashCode());
|
||||
assertNotNull(val.toString());
|
||||
assertFalse(val.equals(val2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeltaLink() throws URISyntaxException {
|
||||
ClientDeltaLinkImpl val = new ClientDeltaLinkImpl();
|
||||
ClientDeltaLinkImpl val2 = new ClientDeltaLinkImpl();
|
||||
assertNotNull(val);
|
||||
URI uri = new URI("test");
|
||||
val.setSource(uri );
|
||||
assertNotNull(val.getSource());
|
||||
val.setRelationship("Nav");
|
||||
assertNotNull(val.getRelationship());
|
||||
val.setTarget(uri);
|
||||
assertNotNull(val.getTarget());
|
||||
assertNotNull(val.getAnnotations());
|
||||
assertNull(val.getLink());
|
||||
assertNull(val.getName());
|
||||
assertNotNull(val.hashCode());
|
||||
assertNotNull(val.toString());
|
||||
assertFalse(val.equals(val2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testClientEntity() throws URISyntaxException {
|
||||
FullQualifiedName name = new FullQualifiedName("test.name");
|
||||
ClientEntityImpl val = new ClientEntityImpl(name );
|
||||
URI uri = new URI("test");
|
||||
assertNotNull(val);
|
||||
val.setId(new URI("Id"));
|
||||
assertNotNull(val.getId());
|
||||
assertNull(val.getETag());
|
||||
ClientEntity entity = new ClientEntityImpl(name);
|
||||
ClientLink link = new ClientInlineEntity(uri, ClientLinkType.ASSOCIATION,
|
||||
"title", entity);
|
||||
assertTrue(val.addLink(link ));
|
||||
assertNull(val.getLink());
|
||||
assertNotNull(val.getAssociationLink("title"));
|
||||
assertTrue(val.removeLink(link ));
|
||||
assertFalse(val.isReadOnly());
|
||||
assertNotNull(val.hashCode());
|
||||
assertNotNull(val.toString());
|
||||
ClientDeletedEntityImpl val2 = new ClientDeletedEntityImpl();
|
||||
assertFalse(val.equals(val2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testClientEntitySet() throws URISyntaxException {
|
||||
ClientEntitySetImpl val = new ClientEntitySetImpl();
|
||||
URI uri = new URI("test");
|
||||
ClientEntitySetImpl val2 = new ClientEntitySetImpl(uri);
|
||||
assertNotNull(val);
|
||||
val.setDeltaLink(uri);
|
||||
assertNotNull(val.getOperations());
|
||||
assertNull(val.getOperation("test"));
|
||||
assertNotNull(val.hashCode());
|
||||
assertNotNull(val.toString());
|
||||
assertFalse(val.equals(val2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testClientEnumValue() {
|
||||
ClientEnumValueImpl val = new ClientEnumValueImpl("type", "value");
|
||||
ClientEnumValueImpl val2 = new ClientEnumValueImpl("type", "value");
|
||||
assertNotNull(val.hashCode());
|
||||
assertNotNull(val.toString());
|
||||
assertTrue(val.equals(val2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testClientPrimitiveValue() {
|
||||
ClientPrimitiveValueImpl val = new ClientPrimitiveValueImpl();
|
||||
ClientPrimitiveValueImpl val2 = new ClientPrimitiveValueImpl();
|
||||
BuilderImpl builder = new BuilderImpl();
|
||||
builder.setType(EdmPrimitiveTypeKind.Binary);
|
||||
assertNotNull(builder.buildBoolean(true));
|
||||
assertNotNull(builder);
|
||||
byte[] byteArray = new byte[2];
|
||||
assertNotNull(builder.buildBinary(byteArray));
|
||||
Short shortValue = new Short("1");
|
||||
assertNotNull(builder.buildInt16(shortValue));
|
||||
assertNotNull(builder.buildInt32(new Integer("1")));
|
||||
assertNotNull(builder.buildSingle(new Float("1")));
|
||||
assertNotNull(builder.buildDouble(new Double("1")));
|
||||
assertNotNull(builder.buildGuid(new UUID(1,1)));
|
||||
assertNotNull(builder.buildDecimal(new BigDecimal("1")));
|
||||
assertNotNull(builder.buildDuration(new BigDecimal("1")));
|
||||
assertNotNull(val.hashCode());
|
||||
assertNotNull(val.toString());
|
||||
assertTrue(val.equals(val2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testClientProperty() {
|
||||
ClientValue value = new ClientCollectionValueImpl<ClientValue>("type");
|
||||
ClientPropertyImpl val = new ClientPropertyImpl("type", value );
|
||||
ClientPropertyImpl val2 = new ClientPropertyImpl("type", value);
|
||||
assertNull(val.getOperation("type"));
|
||||
assertNotNull(val.getOperations());
|
||||
assertNotNull(val.hashCode());
|
||||
assertNotNull(val.toString());
|
||||
assertTrue(val.equals(val2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testClientValuable() {
|
||||
ClientValue value = new ClientCollectionValueImpl<ClientValue>("type");
|
||||
ClientValuableImpl val = new ClientValuableImpl(value);
|
||||
ClientValuableImpl val2 = new ClientValuableImpl(value);
|
||||
assertNotNull(val.hashCode());
|
||||
assertNotNull(val.toString());
|
||||
assertTrue(val.equals(val2));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
--batch_123
|
||||
Content-Type: multipart/mixed;boundary=changeset_12ks93js84d
|
||||
|
||||
--changeset_12ks93js84d
|
||||
Content-Type: application/http
|
||||
Content-Transfer-Encoding: binary
|
||||
Content-Id: 1
|
||||
|
||||
HTTP/1.1 204 No Content
|
||||
|
||||
|
||||
--changeset_12ks93js84d
|
||||
Content-Type: application/http
|
||||
Content-Transfer-Encoding: binary
|
||||
|
||||
HTTP/1.1 201 Created
|
||||
DataServiceVersion: 2.0
|
||||
Content-Id: 2
|
||||
Location: http://localhost:19000/ClientBatchTest/Employees('7')
|
||||
Content-Type: application/json
|
||||
Content-Length: 918
|
||||
|
||||
{"d":{"__metadata":{"id":"http://localhost:19000/ClientBatchTest/Employees('7')","uri":"http://localhost:19000/ClientBatchTest/Employees('7')","type":"RefScenario.Employee","content_type":"application/octet-stream","media_src":"Employees('7')/$value","edit_media":"http://localhost:19000/ClientBatchTest/Employees('7')/$value"},"EmployeeId":"7","EmployeeName":"Employee 7","ManagerId":null,"RoomId":null,"TeamId":null,"Location":{"__metadata":{"type":"RefScenario.c_Location"},"City":{"__metadata":{"type":"RefScenario.c_City"},"PostalCode":null,"CityName":null},"Country":null},"Age":0,"EntryDate":null,"ImageUrl":null,"ne_Manager":{"__deferred":{"uri":"http://localhost:19000/ClientBatchTest/Employees('7')/ne_Manager"}},"ne_Team":{"__deferred":{"uri":"http://localhost:19000/ClientBatchTest/Employees('7')/ne_Team"}},"ne_Room":{"__deferred":{"uri":"http://localhost:19000/ClientBatchTest/Employees('7')/ne_Room"}}}}
|
||||
--changeset_12ks93js84d--
|
||||
|
||||
--batch_123
|
||||
Content-Type: application/http
|
||||
Content-Transfer-Encoding: binary
|
||||
Content-ID: 2
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
DataServiceVersion: 2.0
|
||||
Content-Type: text/plain;charset=utf-8
|
||||
Content-length: 13
|
||||
|
||||
Frederic Fall
|
||||
--batch_123--
|
|
@ -0,0 +1,37 @@
|
|||
--batch_123
|
||||
Content-Type: multipart/mixed;boundary=changeset_12ks93js84d
|
||||
|
||||
--changeset_12ks93js84d
|
||||
Content-Type: application/http
|
||||
Content-Transfer-Encoding: binary
|
||||
Content-Id: 1
|
||||
|
||||
HTTP/1.1 204 No Content
|
||||
|
||||
|
||||
--changeset_12ks93js84d
|
||||
Content-Type: application/http
|
||||
Content-Transfer-Encoding: binary
|
||||
|
||||
HTTP/1.1 201 Created
|
||||
DataServiceVersion: 2.0
|
||||
Content-Id: 2
|
||||
Location: http://localhost:19000/ClientBatchTest/Employees('7')
|
||||
Content-Type: application/json
|
||||
Content-Length: 918
|
||||
|
||||
{"d":{"__metadata":{"id":"http://localhost:19000/ClientBatchTest/Employees('7')","uri":"http://localhost:19000/ClientBatchTest/Employees('7')","type":"RefScenario.Employee","content_type":"application/octet-stream","media_src":"Employees('7')/$value","edit_media":"http://localhost:19000/ClientBatchTest/Employees('7')/$value"},"EmployeeId":"7","EmployeeName":"Employee 7","ManagerId":null,"RoomId":null,"TeamId":null,"Location":{"__metadata":{"type":"RefScenario.c_Location"},"City":{"__metadata":{"type":"RefScenario.c_City"},"PostalCode":null,"CityName":null},"Country":null},"Age":0,"EntryDate":null,"ImageUrl":null,"ne_Manager":{"__deferred":{"uri":"http://localhost:19000/ClientBatchTest/Employees('7')/ne_Manager"}},"ne_Team":{"__deferred":{"uri":"http://localhost:19000/ClientBatchTest/Employees('7')/ne_Team"}},"ne_Room":{"__deferred":{"uri":"http://localhost:19000/ClientBatchTest/Employees('7')/ne_Room"}}}}
|
||||
--changeset_12ks93js84d--
|
||||
|
||||
--batch_123
|
||||
Content-Type: application/http
|
||||
Content-Transfer-Encoding: binary
|
||||
Content-ID: 2
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
DataServiceVersion: 2.0
|
||||
Content-Type: text/plain;charset=utf-8
|
||||
Content-length: 13
|
||||
|
||||
Frederic Fall
|
||||
--batch_123--
|
|
@ -0,0 +1,52 @@
|
|||
/*
|
||||
* 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.olingo.server.api;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
public class ODataResponseTest {
|
||||
|
||||
@Test
|
||||
public void testResponse() {
|
||||
ODataResponse r = new ODataResponse ();
|
||||
assertNotNull(r);
|
||||
r.addHeader("header", "value");
|
||||
List<String> list = new ArrayList<String>();
|
||||
r.addHeader("headerList", list );
|
||||
assertNotNull(r.getAllHeaders());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testError() {
|
||||
ODataServerError r = new ODataServerError ();
|
||||
assertNotNull(r);
|
||||
assertNull(r.getLocale());
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
r.setInnerError(map);
|
||||
assertNotNull(r.getInnerError());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,131 @@
|
|||
/*
|
||||
* 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.olingo.server.core;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.net.URI;
|
||||
import java.util.Collections;
|
||||
import java.util.Locale;
|
||||
|
||||
import org.apache.olingo.commons.api.edm.provider.CsdlEdmProvider;
|
||||
import org.apache.olingo.commons.api.edmx.EdmxReference;
|
||||
import org.apache.olingo.commons.api.edmx.EdmxReferenceInclude;
|
||||
import org.apache.olingo.commons.api.format.ContentType;
|
||||
import org.apache.olingo.server.api.OData;
|
||||
import org.apache.olingo.server.api.ODataApplicationException;
|
||||
import org.apache.olingo.server.api.ODataRequest;
|
||||
import org.apache.olingo.server.api.ODataResponse;
|
||||
import org.apache.olingo.server.api.ODataServerError;
|
||||
import org.apache.olingo.server.api.ServiceMetadata;
|
||||
import org.apache.olingo.server.api.deserializer.DeserializerException;
|
||||
import org.apache.olingo.server.api.deserializer.batch.BatchDeserializerException;
|
||||
import org.apache.olingo.server.api.etag.ServiceMetadataETagSupport;
|
||||
import org.apache.olingo.server.api.serializer.SerializerException;
|
||||
import org.apache.olingo.server.core.legacy.ProcessorServiceHandler;
|
||||
import org.apache.olingo.server.core.uri.parser.UriParserException;
|
||||
import org.apache.olingo.server.core.uri.parser.UriParserSemanticException;
|
||||
import org.apache.olingo.server.core.uri.parser.UriParserSyntaxException;
|
||||
import org.apache.olingo.server.core.uri.validator.UriValidationException;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
public class ErrorHandlerTest {
|
||||
CsdlEdmProvider provider = null;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
MetadataParser parser = new MetadataParser();
|
||||
parser.parseAnnotations(true);
|
||||
parser.useLocalCoreVocabularies(true);
|
||||
provider = (CsdlEdmProvider) parser.buildEdmProvider(new FileReader("src/test/resources/annotations.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testError(){
|
||||
EdmxReference reference = new EdmxReference
|
||||
(URI.create("../v4.0/cs02/vocabularies/Org.OData.Core.V1.xml"));
|
||||
reference.addInclude(new EdmxReferenceInclude("Org.OData.Core.V1", "Core"));
|
||||
ServiceHandler handler = new ProcessorServiceHandler();
|
||||
ServiceMetadata metadata = new ServiceMetadataImpl(provider,
|
||||
Collections.singletonList(reference), new ServiceMetadataETagSupport() {
|
||||
@Override
|
||||
public String getServiceDocumentETag() {
|
||||
return "W/\"serviceDocumentETag\"";
|
||||
}
|
||||
@Override
|
||||
public String getMetadataETag() {
|
||||
return "W/\"metadataETag\"";
|
||||
}
|
||||
} );
|
||||
OData odata = new ODataImpl();
|
||||
ErrorHandler error = new ErrorHandler(odata , metadata, handler,
|
||||
ContentType.APPLICATION_ATOM_XML);
|
||||
assertNotNull(error);
|
||||
UriValidationException e =new UriValidationException("message",
|
||||
UriValidationException.MessageKeys.DOUBLE_KEY_PROPERTY , "param");
|
||||
ODataRequest request = new ODataRequest();
|
||||
ODataResponse response = new ODataResponse();
|
||||
error.handleException(e, request , response);
|
||||
error.handleException(new UriParserSemanticException("message",
|
||||
UriParserSemanticException.MessageKeys.COLLECTION_NOT_ALLOWED, "param")
|
||||
, request , response);
|
||||
error.handleException(new UriParserSyntaxException("message",
|
||||
UriParserSyntaxException.MessageKeys.DOUBLE_SYSTEM_QUERY_OPTION, "param")
|
||||
, request , response);
|
||||
String[] param = new String[2];
|
||||
error.handleException(new UriParserExceptionCustom("message",
|
||||
UriParserSyntaxException.MessageKeys.DOUBLE_SYSTEM_QUERY_OPTION, param)
|
||||
, request , response);
|
||||
error.handleException(new BatchDeserializerException("message",
|
||||
BatchDeserializerException.MessageKeys.INVALID_BASE_URI, "param")
|
||||
, request , response);
|
||||
error.handleException(new SerializerException("message",
|
||||
SerializerException.MessageKeys.IO_EXCEPTION, "param")
|
||||
, request , response);
|
||||
error.handleException(new ContentNegotiatorException("message",
|
||||
ContentNegotiatorException.MessageKeys.NO_CONTENT_TYPE_SUPPORTED, "param")
|
||||
, request , response);
|
||||
error.handleException(new UriParserSyntaxException("message",
|
||||
UriParserSyntaxException.MessageKeys.DUPLICATED_ALIAS, "param")
|
||||
, request , response);
|
||||
error.handleException(new DeserializerException("message",
|
||||
DeserializerException.MessageKeys.DUPLICATE_PROPERTY, "param")
|
||||
, request , response);
|
||||
error.handleException(new ODataHandlerException("message",
|
||||
ODataHandlerException.MessageKeys.AMBIGUOUS_XHTTP_METHOD, "param")
|
||||
, request , response);
|
||||
error.handleException(new ODataApplicationException("message",
|
||||
500, Locale.ENGLISH)
|
||||
, request , response);
|
||||
error.handleException(new NullPointerException("message")
|
||||
, request , response);
|
||||
error.handleServerError(request, response, new ODataServerError());
|
||||
}
|
||||
|
||||
class UriParserExceptionCustom extends UriParserException{
|
||||
|
||||
public UriParserExceptionCustom(String developmentMessage, MessageKey messageKey,
|
||||
String[] parameters) {
|
||||
super(developmentMessage, messageKey, parameters);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,101 @@
|
|||
/*
|
||||
* 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.olingo.server.core;
|
||||
|
||||
import static org.junit.Assert.assertNull;
|
||||
|
||||
import org.apache.olingo.server.api.uri.UriInfoEntityId;
|
||||
import org.apache.olingo.server.api.uri.UriInfoKind;
|
||||
import org.apache.olingo.server.api.uri.UriInfoMetadata;
|
||||
import org.apache.olingo.server.api.uri.queryoption.FormatOption;
|
||||
import org.apache.olingo.server.core.uri.UriInfoImpl;
|
||||
import org.apache.olingo.server.core.uri.UriResourceComplexPropertyImpl;
|
||||
import org.apache.olingo.server.core.uri.UriResourceCountImpl;
|
||||
import org.apache.olingo.server.core.uri.UriResourceEntitySetImpl;
|
||||
import org.apache.olingo.server.core.uri.UriResourceFunctionImpl;
|
||||
import org.apache.olingo.server.core.uri.UriResourceItImpl;
|
||||
import org.apache.olingo.server.core.uri.UriResourceLambdaAllImpl;
|
||||
import org.apache.olingo.server.core.uri.UriResourceLambdaAnyImpl;
|
||||
import org.apache.olingo.server.core.uri.UriResourceNavigationPropertyImpl;
|
||||
import org.apache.olingo.server.core.uri.UriResourcePrimitivePropertyImpl;
|
||||
import org.apache.olingo.server.core.uri.UriResourceRefImpl;
|
||||
import org.apache.olingo.server.core.uri.UriResourceRootImpl;
|
||||
import org.apache.olingo.server.core.uri.UriResourceSingletonImpl;
|
||||
import org.apache.olingo.server.core.uri.UriResourceValueImpl;
|
||||
import org.apache.olingo.server.core.uri.queryoption.CountOptionImpl;
|
||||
import org.apache.olingo.server.core.uri.queryoption.DeltaTokenOptionImpl;
|
||||
import org.apache.olingo.server.core.uri.queryoption.ExpandOptionImpl;
|
||||
import org.apache.olingo.server.core.uri.queryoption.FilterOptionImpl;
|
||||
import org.apache.olingo.server.core.uri.queryoption.FormatOptionImpl;
|
||||
import org.apache.olingo.server.core.uri.queryoption.SearchOptionImpl;
|
||||
import org.apache.olingo.server.core.uri.queryoption.SkipOptionImpl;
|
||||
import org.apache.olingo.server.core.uri.queryoption.SkipTokenOptionImpl;
|
||||
import org.apache.olingo.server.core.uri.queryoption.TopOptionImpl;
|
||||
import org.junit.Test;
|
||||
|
||||
public class RequestUrlHierarchyVisitorTest {
|
||||
|
||||
@Test
|
||||
public void visitorTest(){
|
||||
RequestURLHierarchyVisitor visitor = new RequestURLHierarchyVisitor();
|
||||
assertNull(visitor.getUriInfo());
|
||||
UriInfoImpl info = new UriInfoImpl();
|
||||
visitor.visit(info.setKind(UriInfoKind.all));
|
||||
visitor.visit(info.setKind(UriInfoKind.batch));
|
||||
visitor.visit(info.setKind(UriInfoKind.crossjoin));
|
||||
visitor.visit(info.setKind(UriInfoKind.entityId));
|
||||
visitor.visit(info.setKind(UriInfoKind.service));
|
||||
UriInfoEntityId entityId = info;
|
||||
visitor.visit(entityId);
|
||||
visitor.visit(new UriInfoMetadata() {
|
||||
|
||||
@Override
|
||||
public String getFragment() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FormatOption getFormatOption() {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
visitor.visit(new ExpandOptionImpl());
|
||||
visitor.visit(new FilterOptionImpl());
|
||||
visitor.visit(new FormatOptionImpl());
|
||||
visitor.visit(new CountOptionImpl());
|
||||
visitor.visit(new SearchOptionImpl());
|
||||
visitor.visit(new SkipOptionImpl());
|
||||
visitor.visit(new SkipTokenOptionImpl());
|
||||
visitor.visit(new TopOptionImpl());
|
||||
visitor.visit(new UriResourceCountImpl());
|
||||
visitor.visit(new DeltaTokenOptionImpl());
|
||||
visitor.visit(new UriResourceRefImpl());
|
||||
visitor.visit(new UriResourceRootImpl(null, false));
|
||||
visitor.visit(new UriResourceValueImpl());
|
||||
visitor.visit(new UriResourceEntitySetImpl(null));
|
||||
visitor.visit(new UriResourceFunctionImpl(null, null, null));
|
||||
visitor.visit(new UriResourceItImpl(null, false));
|
||||
visitor.visit(new UriResourceLambdaAllImpl(null, null));
|
||||
visitor.visit(new UriResourceLambdaAnyImpl(null, null));
|
||||
visitor.visit(new UriResourceNavigationPropertyImpl(null));
|
||||
visitor.visit(new UriResourceSingletonImpl(null));
|
||||
visitor.visit(new UriResourceComplexPropertyImpl(null));
|
||||
visitor.visit(new UriResourcePrimitivePropertyImpl(null));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue