/servers/sip-presence/xdm/server/tests/src/test/java/org/openxdm/xcap/client/test/error/CannotInsertTest.java
Java | 220 lines | 119 code | 39 blank | 62 comment | 35 complexity | 05b4c310da58583ca06b64ed9e501215 MD5 | raw file
Possible License(s): LGPL-3.0, GPL-3.0, LGPL-2.1, GPL-2.0, CC-BY-SA-3.0, CC0-1.0, Apache-2.0, BSD-3-Clause
- /*
- * JBoss, Home of Professional Open Source
- * Copyright 2011, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
- package org.openxdm.xcap.client.test.error;
-
- import static org.junit.Assert.assertTrue;
-
- import java.io.IOException;
- import java.util.LinkedList;
-
- import javax.xml.bind.JAXBException;
-
- import junit.framework.JUnit4TestAdapter;
-
- import org.apache.commons.httpclient.HttpException;
- import org.junit.Test;
- import org.openxdm.xcap.client.Response;
- import org.openxdm.xcap.client.test.AbstractXDMJunitOldClientTest;
- import org.openxdm.xcap.common.error.CannotInsertConflictException;
- import org.openxdm.xcap.common.key.UserAttributeUriKey;
- import org.openxdm.xcap.common.key.UserDocumentUriKey;
- import org.openxdm.xcap.common.key.UserElementUriKey;
- import org.openxdm.xcap.common.resource.AttributeResource;
- import org.openxdm.xcap.common.resource.ElementResource;
- import org.openxdm.xcap.common.uri.AttributeSelector;
- import org.openxdm.xcap.common.uri.ElementSelector;
- import org.openxdm.xcap.common.uri.ElementSelectorStep;
- import org.openxdm.xcap.common.uri.ElementSelectorStepByAttr;
- import org.openxdm.xcap.common.uri.ElementSelectorStepByPos;
- import org.openxdm.xcap.common.uri.ElementSelectorStepByPosAttr;
-
- public class CannotInsertTest extends AbstractXDMJunitOldClientTest {
-
- public static junit.framework.Test suite() {
- return new JUnit4TestAdapter(CannotInsertTest.class);
- }
-
- @Test
- public void test() throws HttpException, IOException, JAXBException, InterruptedException {
-
- // create uri
- UserDocumentUriKey key = new UserDocumentUriKey(appUsage.getAUID(),user,documentName);
-
- String content =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<resource-lists xmlns=\"urn:ietf:params:xml:ns:resource-lists\">" +
- "<list name=\"friends\" />" +
- "</resource-lists>";
-
- // send put request and get response
- Response response = client.put(key,appUsage.getMimetype(),content,null);
-
- // check put response
- assertTrue("Put response must exists",response != null);
- assertTrue("Put response code should be 201",response.getCode() == 201);
-
- // create element selector
- LinkedList<ElementSelectorStep> elementSelectorSteps = new LinkedList<ElementSelectorStep>();
- ElementSelectorStep step1 = new ElementSelectorStep("resource-lists");
- ElementSelectorStep step2 = new ElementSelectorStepByAttr("list","name","friends");
- elementSelectorSteps.add(step1);
- elementSelectorSteps.addLast(step2);
- ElementSelector elementSelector = new ElementSelector(elementSelectorSteps);
-
- // create exception for return codes
- CannotInsertConflictException exception = new CannotInsertConflictException();
-
- // 1st test is for attr replace
-
- // create attr uri
- AttributeSelector attributeSelector = new AttributeSelector("name");
- UserAttributeUriKey attrKey = new UserAttributeUriKey(appUsage.getAUID(),user,documentName,elementSelector,attributeSelector,null);
- // send put and get response
- Response putResponse = client.put(attrKey,AttributeResource.MIMETYPE,"enemies",null);
- assertTrue("Put response must exists",putResponse != null);
- assertTrue("Put response content must be the expected and the response code should be "+exception.getResponseStatus(),putResponse.getCode() == exception.getResponseStatus() && putResponse.getContent().equals(exception.getResponseContent()));
-
- // 2nd is for elem replace
-
- // create elem uri
- UserElementUriKey elementKey = new UserElementUriKey(appUsage.getAUID(),user,documentName,elementSelector,null);
-
- // element content to put
- String elementContent = "<list name=\"enemies\" />";
- // send put request and get response
- putResponse = client.put(elementKey,ElementResource.MIMETYPE,elementContent,null);
- assertTrue("Put response must exists",putResponse != null);
- assertTrue("Put response content must be the expected and the response code should be "+exception.getResponseStatus(),putResponse.getCode() == exception.getResponseStatus() && putResponse.getContent().equals(exception.getResponseContent()));
-
- // element content to put
- elementContent = "<cannot-insert name=\"friends\" />";
- // send put request and get response
- putResponse = client.put(elementKey,ElementResource.MIMETYPE,elementContent,null);
- assertTrue("Put response must exists",putResponse != null);
- assertTrue("Put response content must be the expected and the response code should be "+exception.getResponseStatus(),putResponse.getCode() == exception.getResponseStatus() && putResponse.getContent().equals(exception.getResponseContent()));
-
- // 3rd is for new elem put by pos and attr
-
- // create elem uri
- elementSelectorSteps.removeLast();
- step2 = new ElementSelectorStepByPosAttr("list",1,"name","3n3m13s");
- elementSelectorSteps.addLast(step2);
- elementKey = new UserElementUriKey(appUsage.getAUID(),user,documentName,elementSelector,null);
-
- // element content to put
- elementContent = "<list name=\"enemies\" />";
- // send put request and get response
- putResponse = client.put(elementKey,ElementResource.MIMETYPE,elementContent,null);
- assertTrue("Put response must exists",putResponse != null);
- assertTrue("Put response content must be the expected and the response code should be "+exception.getResponseStatus(),putResponse.getCode() == exception.getResponseStatus() && putResponse.getContent().equals(exception.getResponseContent()));
-
- // element content to put
- elementContent = "<cannot-insert name=\"3n3m13s\" />";
- // send put request and get response
- putResponse = client.put(elementKey,ElementResource.MIMETYPE,elementContent,null);
- assertTrue("Put response must exists",putResponse != null);
- assertTrue("Put response content must be the expected and the response code should be "+exception.getResponseStatus(),putResponse.getCode() == exception.getResponseStatus() && putResponse.getContent().equals(exception.getResponseContent()));
-
- // create elem uri
- elementSelectorSteps.removeLast();
- step2 = new ElementSelectorStepByPosAttr("list",3,"name","3n3m13s");
- elementSelectorSteps.addLast(step2);
- elementKey = new UserElementUriKey(appUsage.getAUID(),user,documentName,elementSelector,null);
- // element content to put
- elementContent = "<list name=\"3n3m13s\" />";
- // send put request and get response
- putResponse = client.put(elementKey,ElementResource.MIMETYPE,elementContent,null);
- assertTrue("Put response must exists",putResponse != null);
- assertTrue("Put response content must be the expected and the response code should be "+exception.getResponseStatus(),putResponse.getCode() == exception.getResponseStatus() && putResponse.getContent().equals(exception.getResponseContent()));
-
- // 4th is for new elem put by pos
-
- // create elem uri
- elementSelectorSteps.removeLast();
- step2 = new ElementSelectorStepByPos("list",2);
- elementSelectorSteps.addLast(step2);
- elementKey = new UserElementUriKey(appUsage.getAUID(),user,documentName,elementSelector,null);
-
- // element content to put
- elementContent = "<cannot-insert name=\"3n3m13s\" />";
- // send put request and get response
- putResponse = client.put(elementKey,ElementResource.MIMETYPE,elementContent,null);
- assertTrue("Put response must exists",putResponse != null);
- assertTrue("Put response content must be the expected and the response code should be "+exception.getResponseStatus(),putResponse.getCode() == exception.getResponseStatus() && putResponse.getContent().equals(exception.getResponseContent()));
-
- // create elem uri
- elementSelectorSteps.removeLast();
- step2 = new ElementSelectorStepByPos("list",3);
- elementSelectorSteps.addLast(step2);
- elementKey = new UserElementUriKey(appUsage.getAUID(),user,documentName,elementSelector,null);
- // element content to put
- elementContent = "<list name=\"3n3m13s\" />";
- // send put request and get response
- putResponse = client.put(elementKey,ElementResource.MIMETYPE,elementContent,null);
- assertTrue("Put response must exists",putResponse != null);
- assertTrue("Put response content must be the expected and the response code should be "+exception.getResponseStatus(),putResponse.getCode() == exception.getResponseStatus() && putResponse.getContent().equals(exception.getResponseContent()));
-
- // 5th is for new elem put by attr
-
- // create elem uri
- elementSelectorSteps.removeLast();
- step2 = new ElementSelectorStepByAttr("list","name","3n3m13s");
- elementSelectorSteps.addLast(step2);
- elementKey = new UserElementUriKey(appUsage.getAUID(),user,documentName,elementSelector,null);
-
- // element content to put
- elementContent = "<list name=\"enemies\" />";
- // send put request and get response
- putResponse = client.put(elementKey,ElementResource.MIMETYPE,elementContent,null);
- assertTrue("Put response must exists",putResponse != null);
- assertTrue("Put response content must be the expected and the response code should be "+exception.getResponseStatus(),putResponse.getCode() == exception.getResponseStatus() && putResponse.getContent().equals(exception.getResponseContent()));
-
- // element content to put
- elementContent = "<cannot-insert name=\"3n3m13s\" />";
- // send put request and get response
- putResponse = client.put(elementKey,ElementResource.MIMETYPE,elementContent,null);
- assertTrue("Put response must exists",putResponse != null);
- assertTrue("Put response content must be the expected and the response code should be "+exception.getResponseStatus(),putResponse.getCode() == exception.getResponseStatus() && putResponse.getContent().equals(exception.getResponseContent()));
-
- // 6th is for new elem put by name only
-
- // create elem uri
- elementSelectorSteps.removeLast();
- step2 = new ElementSelectorStep("list");
- elementSelectorSteps.addLast(step2);
- ElementSelectorStep step3 = new ElementSelectorStep("list");
- elementSelectorSteps.addLast(step3);
- elementKey = new UserElementUriKey(appUsage.getAUID(),user,documentName,elementSelector,null);
-
- // element content to put
- elementContent = "<cannot-insert name=\"3n3m13s\" />";
- // send put request and get response
- putResponse = client.put(elementKey,ElementResource.MIMETYPE,elementContent,null);
- assertTrue("Put response must exists",putResponse != null);
- assertTrue("Put response content must be the expected and the response code should be "+exception.getResponseStatus(),putResponse.getCode() == exception.getResponseStatus() && putResponse.getContent().equals(exception.getResponseContent()));
-
- // clean up
- client.delete(key,null);
- }
-
- }