View Javadoc
1   /*
2    * JBoss, Home of Professional Open Source
3    * Copyright 2014, Red Hat, Inc. and/or its affiliates, and individual
4    * contributors by the @authors tag. See the copyright.txt in the
5    * distribution for a full listing of individual contributors.
6    *
7    * Licensed under the Apache License, Version 2.0 (the "License");
8    * you may not use this file except in compliance with the License.
9    * You may obtain a copy of the License at
10   * http://www.apache.org/licenses/LICENSE-2.0
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.jboss.as.quickstarts.kitchensink.test;
18  
19  import static org.junit.Assert.assertNotNull;
20  
21  import java.util.logging.Logger;
22  
23  import javax.inject.Inject;
24  
25  import org.jboss.arquillian.container.test.api.Deployment;
26  import org.jboss.arquillian.junit.Arquillian;
27  import org.jboss.as.quickstarts.kitchensink.model.Member;
28  import org.jboss.as.quickstarts.kitchensink.service.MemberRegistration;
29  import org.jboss.as.quickstarts.kitchensink.util.Resources;
30  import org.jboss.shrinkwrap.api.Archive;
31  import org.jboss.shrinkwrap.api.ShrinkWrap;
32  import org.jboss.shrinkwrap.api.asset.EmptyAsset;
33  import org.jboss.shrinkwrap.api.spec.WebArchive;
34  import org.junit.Test;
35  import org.junit.runner.RunWith;
36  
37  @RunWith(Arquillian.class)
38  public class MemberRegistrationTest {
39      @Deployment
40      public static Archive<?> createTestArchive() {
41          return ShrinkWrap.create(WebArchive.class, "test.war")
42                  .addClasses(Member.class, MemberRegistration.class, Resources.class)
43                  .addAsResource("META-INF/test-persistence.xml", "META-INF/persistence.xml")
44                  .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
45                  // Deploy our test datasource
46                  .addAsWebInfResource("test-ds.xml");
47      }
48  
49      @Inject
50      MemberRegistration memberRegistration;
51  
52      @Inject
53      Logger log;
54  
55      @Test
56      public void testRegister() throws Exception {
57          Member newMember = new Member();
58          newMember.setName("Jane Doe");
59          newMember.setEmail("jane@mailinator.com");
60          newMember.setPhoneNumber("2125551234");
61          memberRegistration.register(newMember);
62          assertNotNull(newMember.getId());
63          log.info(newMember.getName() + " was persisted with id " + newMember.getId());
64      }
65  
66  }