Cześć,
stack: gradle, kontener aplikacji Wildfly, JavaEE 7, EJB 3.1, wbudowany Glassfish do testow.
chcę uruchomić test repozytorium (takie proof of concept) w kontenerze przy użyciu Arquilliana. Niestety nie mogę poradzić sobie z odpowiednimi zależnościami, tak aby chociaż najbardziej dumb test się uruchomił.
Z grubsza klasy wygladają tak:

public interface Repository<T> {
    void persist(T entity);

    void merge(T entity);

    void remove(T entity);

    void flush();

    Optional<T> findByID(Class<T> entityClazz, Object id);

    List<T> findByAll(Class<T> entityClazz);

    List<T> findDetachedByAll(Class<T> entityClazz);
}
@Stateless
@JakisContext
public class JakiesRepositoryImpl implements Repository<JakiesEntity> {
    @PersistenceContext
    private EntityManager entityManager;

    @Override
    public Optional<JakiesEntity> findByName(String name) {
            TypedQuery<JakiesEntity> query =
                entityManager.createQuery("SELECT p FROM JakiesEntityp WHERE p.name = :name",
                    JakiesEntity.class);
            query.setParameter("name", name);
            return query.getSingleResult();
    }
    itd...
@RunWith(Arquillian.class)
public class SimpleRepoWithMockTest {
    private final static String NAME = "NAME123";

    @Inject
    @JakisContext
    private TenantRepository tenantRepository;

    @Deployment
    public static JavaArchive createDeployment() {
        return ShrinkWrap.create(JavaArchive.class)
            .addClasses(jakiesRepository.class, jakiesRepositoryImpl.class)
            .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
    }

    @Test
    public void isEntitySaved() {
        JakiesEntity jakiesEntity= jakiesRepository.findByName(NAME);
        Assert.assertEquals(NAME, jakiesEntity.getName());
    }
}

Ostatnia wersja zaleznosci (po wielu probach :) ):

    testCompile group: 'org.jboss.shrinkwrap.resolver', name: 'shrinkwrap-resolver-depchain', version: '3.1.3', ext: 'pom'
    compile group: 'org.jboss.arquillian', name: 'arquillian-bom', version: '1.4.0.Final', ext: 'pom'
    testCompile group: 'org.jboss.arquillian.container', name: 'arquillian-glassfish-embedded-3.1', version: '1.0.2'
    testCompile group: 'org.jboss.arquillian.junit', name: 'arquillian-junit-container', version: '1.4.0.Final'
    testCompile group: 'org.glassfish.main.extras', name: 'glassfish-embedded-all', version: '5.0'

Nie patrzcie proszę na nazewnictwo, nazwy i klasy uproszczone z kodu w pracy. Próbowalem różnych źrodeł od GH do wszelakich odp na stacku i niestety ani razu nie udalo mi się tego odpalić. Niestety wiekszość jakiś guidow jest dla Mavena z dodatkiem pluginów do niego. Fajnie by było jakby ktoś oprócz rozwiązania nakreślił o co chodzi z tym BOM, pierwszy raz spotykam się z takimi zależnościami.
Z góry dzięki za odp,
Pozdrawiam!