Package com.sun.jini.test.impl.start

Source Code of com.sun.jini.test.impl.start.ServiceStarterCreateSharedBadActServiceTest

/*
* 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 com.sun.jini.test.impl.start;

import java.util.logging.Level;


import java.io.File;
import java.io.IOException;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.net.URL;
import java.rmi.activation.ActivationException;
import java.rmi.activation.ActivationGroup;
import java.rmi.activation.ActivationGroupID;
import java.rmi.activation.ActivationID;
import java.rmi.activation.ActivationGroupDesc;
import java.rmi.activation.ActivationDesc;
import java.rmi.activation.UnknownGroupException;
import java.rmi.MarshalledObject;
import java.rmi.UnmarshalException;
import java.util.Properties;
import java.util.Arrays;
import java.util.List;
import java.util.Enumeration;

import com.sun.jini.qa.harness.TestException;
import com.sun.jini.qa.harness.SharedGroupAdmin;
import com.sun.jini.start.ActivateWrapper;
import com.sun.jini.start.ActivateWrapper.ActivateDesc;
import com.sun.jini.start.ClassLoaderUtil;
import com.sun.jini.start.ServiceStarter;
import com.sun.jini.start.SharedActivationGroupDescriptor;
import com.sun.jini.start.SharedActivatableServiceDescriptor;
import com.sun.jini.start.SharedActivatableServiceDescriptor.Created;
import com.sun.jini.start.SharedGroup;
import net.jini.config.EmptyConfiguration;

public class ServiceStarterCreateSharedBadActServiceTest extends StarterBase {
    public void run() throws Exception {
        SharedGroup sg = null;
        sg = (SharedGroup)manager.startService("sharedGroup");
  SharedGroupAdmin sga = null;
  sga = (SharedGroupAdmin)manager.getAdmin(sg);

        String codebase = getConfig().getStringConfigVal(
            "net.jini.event.EventMailbox.codebase", null);
        logger.log(Level.INFO, "codebase = " + codebase);
        String policy = getConfig().getStringConfigVal(
            "net.jini.event.EventMailbox.policyfile", null);
        logger.log(Level.INFO, "policy = " + policy);
        String impl = getConfig().getStringConfigVal(
            "net.jini.event.EventMailbox.impl", null);
        logger.log(Level.INFO, "impl = " + impl);
        String classpath = getConfig().getStringConfigVal(
            "net.jini.event.EventMailbox.classpath", null);
        logger.log(Level.INFO, "classpath = " + classpath);
        if (codebase == null || policy == null ||
            impl == null || classpath == null) {
            throw new TestException(
                "Service codebase, classpath, "
                + "impl, or policy was null");
        }

        String config = null;
  config =
          ServiceStarterCreateBadTransientServiceTest.getServiceConfigFile().toString();
 

  SharedActivatableServiceDescriptor badCodebase =
            new SharedActivatableServiceDescriptor(
    codebase.replaceAll("mercury", "mercury-bogus"),
                policy,
                classpath,
                impl,
                sga.getSharedGroupLog().toString(),
                new String[] { config },
    true);
        try {
            Created created =
                (Created)badCodebase.create(EmptyConfiguration.INSTANCE);
      throw new TestException(
          "Created proxy: " + created.proxy
    + " with a badcodebase descriptor: " + badCodebase);
        } catch (UnmarshalException e) {
      logger.log(Level.INFO, "Expected Failure -- with a badcodebase descriptor: "
          + badCodebase);
            e.printStackTrace();
        }

  SharedActivatableServiceDescriptor badPolicy =
            new SharedActivatableServiceDescriptor(
                codebase,
                policy.replaceAll("policy", "policy_bogus"),
                classpath,
                impl,
                sga.getSharedGroupLog().toString(),
                new String[] { config },
    true);
        try {
            Created created =
                (Created)badPolicy.create(EmptyConfiguration.INSTANCE);
      throw new TestException(
          "Created proxy: " + created.proxy
    + " with a bad policy descriptor: " + badPolicy);
        } catch (ActivationException e) {
      logger.log(Level.INFO, "Expected Failure with a bad policy descriptor: "
          + badPolicy);
            e.printStackTrace();
        }

  SharedActivatableServiceDescriptor badClasspath =
            new SharedActivatableServiceDescriptor(
                codebase,
                policy,
                classpath.replaceAll("mercury", "mercury_bogus"),
                impl,
                sga.getSharedGroupLog().toString(),
                new String[] { config },
    true);
        try {
            Created created =
                (Created)badClasspath.create(EmptyConfiguration.INSTANCE);
      throw new TestException(
          "Created proxy: " + created.proxy
    + " with a bad classpath descriptor: " + badClasspath);
        } catch (ActivationException ae) {
      if (ae.getCause() instanceof ClassNotFoundException) {
          logger.log(Level.INFO,
        "Expected Failure with a bad classpath descriptor: "
              + badClasspath, ae);
      } else {
          logger.log(Level.INFO,
        "Unexpected Failure with a bad classpath descriptor: "
              + badClasspath);
          throw new TestException(
              "Unexpected exception"
        + " with a bad classpath descriptor: " + badClasspath, ae);
      }
        }

  SharedActivatableServiceDescriptor badImpl =
            new SharedActivatableServiceDescriptor(
                codebase,
                policy,
                classpath,
                impl.replaceAll("Impl", "Impl_bogus"),
                sga.getSharedGroupLog().toString(),
                new String[] { config },
    true);
        try {
            Created created =
                (Created)badImpl.create(EmptyConfiguration.INSTANCE);
      throw new TestException(
          "Created proxy: " + created.proxy
    + " with a bad impl descriptor: " + badImpl);
        } catch (ActivationException ae) {
      if (ae.getCause() instanceof ClassNotFoundException) {
          logger.log(Level.INFO,
        "Expected Failure with a bad impl descriptor: "
              + badImpl, ae);

      } else {
          logger.log(Level.INFO,
        "Unexpected Failure with a bad impl descriptor: "
              + badImpl);
          throw new TestException(
              "Unexpected exception"
        + " with a bad impl descriptor: " + badImpl, ae);
      }
        }

  SharedActivatableServiceDescriptor badLog =
            new SharedActivatableServiceDescriptor(
                codebase,
                policy,
                classpath,
                impl,
                sga.getSharedGroupLog().toString() + "bogus",
                new String[] { config },
    true);
        try {
            Created created =
                (Created)badLog.create(EmptyConfiguration.INSTANCE);
      throw new TestException(
          "Created proxy: " + created.proxy
    + " with a bad log descriptor: " + badLog);
        } catch (IOException e) {
      logger.log(Level.INFO, "Expected Failure with a bad log descriptor: "
          + badLog, e);
        }

  SharedActivatableServiceDescriptor badConfig =
            new SharedActivatableServiceDescriptor(
                codebase,
                policy,
                classpath,
                impl,
                sga.getSharedGroupLog().toString(),
                new String[] { sga.getSharedGroupLog().toString() },
    true);
        try {
            Created created =
                (Created)badConfig.create(EmptyConfiguration.INSTANCE);
      throw new TestException(
          "Created proxy: " + created.proxy
    + " with a bad config descriptor: " + badConfig);
        } catch (ActivationException e) {
      logger.log(Level.INFO, "Expected Failure with a bad config descriptor: "
          + badConfig, e);
        }
    }
}
TOP

Related Classes of com.sun.jini.test.impl.start.ServiceStarterCreateSharedBadActServiceTest

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.