/** 
 * 
 * Copyright 2004 Protique Ltd
 * 
 * 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 org.codehaus.activemq.jndi;

import junit.framework.TestCase;

import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.naming.Binding;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.spi.InitialContextFactory;
import java.util.Hashtable;

/**
 * @version $Revision: 1.2 $
 */
public class ActiveMQInitialContextFactoryTest extends JNDITestSupport {

    public void testConnectionFactoriesArePresent() throws NamingException {
        String lookupName = getConnectionFactoryLookupName();
        assertConnectionFactoryPresent(lookupName);
    }

    public void testDestinationsArePresent() throws NamingException {
        Object destinations = context.lookup("destinations");

        assertTrue("Should have created a destinations context but got: " + destinations, destinations instanceof Context);

        Context destContext = (Context) destinations;
        NamingEnumeration iter = destContext.listBindings("");
        while (iter.hasMore()) {
            Binding binding = (Binding) iter.next();
            System.out.println("Found key: " + binding.getName());
            assertBinding(binding);
        }
    }


    protected String getConnectionFactoryLookupName() {
        return "ConnectionFactory";
    }
}
