Package com.google.enterprise.connector.mock.jcr

Source Code of com.google.enterprise.connector.mock.jcr.MockJcrNodeTest

// Copyright (C) 2006-2008 Google Inc.
//
// 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.google.enterprise.connector.mock.jcr;

import com.google.enterprise.connector.mock.MockRepositoryDateTime;
import com.google.enterprise.connector.mock.MockRepositoryDocument;
import com.google.enterprise.connector.mock.MockRepositoryPropertyList;

import junit.framework.Assert;
import junit.framework.TestCase;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.Calendar;
import java.util.logging.Logger;

import javax.jcr.Node;
import javax.jcr.Property;
import javax.jcr.RepositoryException;

/**
* Unit tests for MockJCRNode
*/
public class MockJcrNodeTest extends TestCase {
  private static final Logger logger =
      Logger.getLogger(MockJcrNodeTest.class.getName());

  /**
   * Sanity test
   * @throws RepositoryException
   */
  public void testSimpleDoc() throws RepositoryException {
    MockRepositoryDocument mrd = new MockRepositoryDocument(
        new MockRepositoryDateTime(50000), "docid2", "now is the time",
        new MockRepositoryPropertyList());
    Node n = new MockJcrNode(mrd);
    Property p = n.getProperty("jcr:content");
    Assert.assertNotNull(p);
    String content = p.getString();
    logger.info("Content is \"" + content + "\"");

    p = n.getProperty("jcr:uuid");
    Assert.assertNotNull(p);
    String uuid = p.getString();
    logger.info("uuid is \"" + uuid + "\"");

    p = n.getProperty("jcr:lastModified");
    Assert.assertNotNull(p);
    Calendar modifyDate = p.getDate();
    logger.info("modify date is \"" + modifyDate.getTime() + "\"");
  }

  /**
   * Another simple test, based on the Json Constructor
   * @throws RepositoryException
   */
  public void testJsonDoc() throws RepositoryException {
    String in = "{timestamp:10, docid:xyzzy, "
        + "content:\"Now is the time\", name:John}";
    JSONObject jo;
    try {
      jo = new JSONObject(in);
    } catch (JSONException e) {
      throw new IllegalArgumentException("test input can not be parsed");
    }
    MockRepositoryDocument document = new MockRepositoryDocument(jo);
    MockJcrNode node = new MockJcrNode(document);

    {
      Property p = node.getProperty("jcr:content");
      Assert.assertNotNull(p);
      String value = p.getString();
      Assert.assertEquals(value, "Now is the time");
    }

    {
      Property p = node.getProperty("jcr:uuid");
      Assert.assertNotNull(p);
      String value = p.getString();
      Assert.assertEquals(value, "xyzzy");
    }

    {
      Property p = node.getProperty("name");
      Assert.assertNotNull(p);
      String value = p.getString();
      Assert.assertEquals(value, "John");
    }

  }

}
TOP

Related Classes of com.google.enterprise.connector.mock.jcr.MockJcrNodeTest

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.