diff --git a/utils/test/com/cloud/utils/DummyImpl.java b/utils/test/com/cloud/utils/DummyImpl.java new file mode 100644 index 00000000000..467d8e23f98 --- /dev/null +++ b/utils/test/com/cloud/utils/DummyImpl.java @@ -0,0 +1,28 @@ +// 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 +// 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.cloud.utils; + +import org.springframework.stereotype.Component; + +@Component +public class DummyImpl implements DummyInterface { + + @Override + public void foo() { + System.out.println("Basic foo implementation"); + } +} diff --git a/utils/test/com/cloud/utils/DummyInterface.java b/utils/test/com/cloud/utils/DummyInterface.java new file mode 100644 index 00000000000..f79a53eda9c --- /dev/null +++ b/utils/test/com/cloud/utils/DummyInterface.java @@ -0,0 +1,21 @@ +// 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 +// 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.cloud.utils; + +public interface DummyInterface { + void foo(); +} diff --git a/utils/test/com/cloud/utils/DummyPremiumImpl.java b/utils/test/com/cloud/utils/DummyPremiumImpl.java new file mode 100644 index 00000000000..111f08701e6 --- /dev/null +++ b/utils/test/com/cloud/utils/DummyPremiumImpl.java @@ -0,0 +1,30 @@ +// 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 +// 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.cloud.utils; + +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Component; + +@Component +@Primary +public class DummyPremiumImpl implements DummyInterface { + + @Override + public void foo() { + System.out.println("Premium foo implementation"); + } +} diff --git a/utils/test/com/cloud/utils/QualifierTest.java b/utils/test/com/cloud/utils/QualifierTest.java new file mode 100644 index 00000000000..10c0e815991 --- /dev/null +++ b/utils/test/com/cloud/utils/QualifierTest.java @@ -0,0 +1,36 @@ +// 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 +// 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.cloud.utils; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations="classpath:/com/cloud/utils/QualifierTestContext.xml") +public class QualifierTest { + + @Autowired + DummyInterface _dummy; + + @Test + public void test() { + _dummy.foo(); + } +} diff --git a/utils/test/com/cloud/utils/db/DbAnnotatedBase.java b/utils/test/com/cloud/utils/db/DbAnnotatedBase.java index c9b77b7de41..2160a35dbf7 100644 --- a/utils/test/com/cloud/utils/db/DbAnnotatedBase.java +++ b/utils/test/com/cloud/utils/db/DbAnnotatedBase.java @@ -16,6 +16,11 @@ // under the License. package com.cloud.utils.db; + +import javax.annotation.PostConstruct; + +import junit.framework.Assert; + import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -24,6 +29,11 @@ import org.springframework.stereotype.Component; public class DbAnnotatedBase { private static final Logger s_logger = Logger.getLogger(DbAnnotatedBase.class); + @PostConstruct + public void initTest() { + Assert.assertTrue(true); + } + public void MethodWithClassDbAnnotated() { s_logger.info("called"); } diff --git a/utils/test/com/cloud/utils/db/TransactionContextBuilderTest.java b/utils/test/com/cloud/utils/db/TransactionContextBuilderTest.java index 74e0ab9bcb2..ca9d47a224a 100644 --- a/utils/test/com/cloud/utils/db/TransactionContextBuilderTest.java +++ b/utils/test/com/cloud/utils/db/TransactionContextBuilderTest.java @@ -8,7 +8,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations="classpath:/transactioncontextBuilderTest.xml") +@ContextConfiguration(locations="classpath:/com/cloud/utils/db/transactioncontextBuilderTest.xml") public class TransactionContextBuilderTest { @Inject diff --git a/utils/test/resources/com/cloud/utils/QualifierTestContext.xml b/utils/test/resources/com/cloud/utils/QualifierTestContext.xml new file mode 100644 index 00000000000..c045f985b69 --- /dev/null +++ b/utils/test/resources/com/cloud/utils/QualifierTestContext.xml @@ -0,0 +1,19 @@ + + + + + + + diff --git a/utils/test/resources/transactionContextBuilderTest.xml b/utils/test/resources/com/cloud/utils/db/transactionContextBuilderTest.xml similarity index 99% rename from utils/test/resources/transactionContextBuilderTest.xml rename to utils/test/resources/com/cloud/utils/db/transactionContextBuilderTest.xml index 4672343a0e2..8a34670f39d 100644 --- a/utils/test/resources/transactionContextBuilderTest.xml +++ b/utils/test/resources/com/cloud/utils/db/transactionContextBuilderTest.xml @@ -14,7 +14,6 @@ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> -