Arquillian OSGi 1.0.0 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 1.0.0 release of the Arquillian OSGi component!

What is Arquillian OSGi?

ShrinkWrap is the simplest way to create archives in Java. Using the fluent and intuitive ShrinkWrap API, developers may assemble JARs, WARs, and EARs to be deployed directly by Arquillian during testing.

Release details

Component Arquillian OSGi
Modules
Version 1.0.0 view tag
Release date 2012-02-06
Released by Thomas Diesler
Compiled against

Published artifacts org.jboss.arquillian.testenricher

  • org.jboss.arquillian.testenricher » arquillian-testenricher-osgi jar javadoc pom
  • org.jboss.arquillian.protocol » arquillian-protocol-osgi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-osgi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-osgi-embedded jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-osgi-remote jar javadoc pom

Thanks to the following list of contributors: Thomas Diesler, Aslak Knutsen, Karel Piwko

Arquillian Fall Tour 2011

It was quite a busy fall touring around presenting our ideas, having meetings and hooking up with our awesome community. It’s time to give the ones we missed a little insight into what’s been going on.

JavaZone – Olso – Sep 7-8

The first event this fall was near and dear to me, not only was it in my home town but also my first public presentation in Oslo. Andrew and I had great fun presenting at JavaZone, and I must say, JavaZone is probably one of the most well organized conferences I’ve ever been to. Just to give a tip to other conference organizers out there; A single baguette is not food for a warrior. And when it’s served in a 1 hour time frame to 1.500 people it tends to create queues. But not at JavaZone, where they had 7 sponsored ‘restaurants’ open all day, serving everything from sushi to traditional Norwegian elk stew. That’s the way to do it!

JavaZone started a few years back with something they call Journey-Zone: A trip for the speakers after the conference. This year the target was the MIT Fab-Lab near Tromsø in north of Norway. We headed up there on Thursday afternoon and headed back on Sunday. Hiking in the mountains, fishing in the fjords and hacking was a refreshing combination. The MIT Lab had a laser printer. Which to be honest, took most of our attention. Anything with a flat’ish surface got branded that weekend: ipads, iphones, androids, lenovos, rocks, etc. You name it, they branded it. Rumors had it they only let us play with the laser printer in hopes we wouldn’t discover their hidden Hadron Collider.

The presentation can be seen on Vimeo, Testable Enterprise Development with Arquillian.

JBoss Face2Face – Toronto Sep 12-19

Next morning I headed of to Toronto Canada for a face2face meeting with the JBoss ‘Seam’ team. ‘Seam’ team being the Seam + Richfaces + Forge + Tools + Errai developers pluss qa. We spent a week on a little island outside of Toronto in a old school building.

The general theme being: Ignore all current technical constraints. How would we want X to work? ….. then, go make it so… :)

Being that all colleagues that I interact with on a day to day basis are located in a different parts of the world, it’s always fun to come together at conferences or team meeting to meet them face 2 face. Some even for the first time.

On Thursday during the Toronto week we had arranged a JBoss BOF at the Toronto JUG. Nice group of people showed up!

During the Toronto week we released: Arquillian Core 1.0.0.CR5.

JavaOne – San Francisco – Oct 1-10

After many weeks of hectic preparation the time was upon us, JavaOne. About 11 of us rented two huge apartments to camp for the week. Having a apartment with your colleagues compared to having individual hotels rooms, made this a completely different experience. Much more fun! Making food in our own kitchen, hacking all night…

We had a brand new talk in our deck, The Extendable Enterprise Test Framework – The Arquillian SPI talk. It still needed some tweaking before presenting, so hell broke loose just before hell really broke loose. Dan and I had about 6 hours of sleep the weekend before the conference started and it didn’t really get much better during the conference. Tough week.

But, on Sunday 2. October, my birthday, JavaOne kicked of with the Duke Choice Awards. We made all aliens around the universe proud when Arquillian won the Duke Choice Awards for “Most Innovative Integration Testing Software” of 2011.

We had our new “The Extendable Exterprise TestFramwork” session on Monday and the main Arquillian event “Real Java Enterprise Testing” on Tuesday. Andrew joined in on the Tuesday session which was great fun. Probably the most exiting talk we’ve had so far. Good engaged audience. When we were about to leave the room after the talk, the security/door lady came over to thank us for a good session. She was so exited. In her own words (as I remember them: “There has been a lot of good talks in this room, but this one was the best I’ve ever seen! 3 young handsome energetic guys on stage, had the audience in your hands from the first second. I was out here trying to find more room in the back for more people.”

The audience spoke up and based on their feedback we got named JavaOne 2011 Rock Stars. Thank you!

(Last year Dan and Andrew’s became JavaOne 2010 Rock Stars for their Arquillian presentation, making it two years in a row! We’re aiming for a hat trick.)

Wednesday was the JBoss party, where Arquillian again was center stage. After sliding down to the bar at Slide you were met by a ocean of Rocking Ike’s!

One of the talks from the JBoss Booth mini theater can be found at Vimeo, High Octane Development. The rest should appear on parleys.com soon.

Goto – Århus Danmark – Oct 11-12

The plan was to come more or less directly from San Fransisco to Århus Danmark for Goto, but it became a bit more then less due to Airline mess. We came from San Fransisco and landed in Frankfurt on Monday evening. The United flight was already delayed out of San Fransisco, so we missed our connecting flight to Oslo. And the next flight was full, and so was the next one after that. We ended up having to spend the night in Frankfurt at the airport hotel. The next morning we got tickets to Oslo, but at that point there was no longer a point in going to Oslo since I needed to be in Århus that very same day. With luck I got Lufthansa to rebook my flight to Copenhagen instead.

I finally ended up in Århus at about 9 pm the 11. I call the hotel to verify my booking, for then to head directly down town to meet some of the new Red Hat Danmark people. After some time, I headed out to the hotel to find that they had overbooked and had no room for me. Back and forth, a few hours later I was in bed at a different hotel, roughly 2 am. sigh

To a small audience I pulled up the last energy I had and presented, High Octane Development: JBoss AS 7 with Arquillian. All in all considering I had a cold from San Fransisco, not to bad… :)

JUDCon – London – Oct 30-Nov 1

The 4th JUDCon was held in London, United Kingdom. We kicked of JUDCon with the Arquillian Extensions talk, being the first talk of the day, to a filled room of exited developers.

As always, this was great opportunity to meet up with the community. We ran into long time ShrinkWrap and Arquillian contributor David D’Alto for the first time. Always nice to see the face behind the cartoon character.

I had to cut JUDCon short to head over to Moscow and invade the old iron curtain.

CEE SECR – Moscow – Nov 1-4

At this point my passport was getting a bit too warn, so the airport crew in Stokholm didn’t let me pass boarding without a little discussion that ended in: Let’s give it a try! We can always fly him back.

Well, the Russian immigration lady was not impressed with my passport at all. After studying it multiple times and discussing with colleagues back and forth, I was let through after being given the evil eye and a clear message: Change passports!

Conclusion: You can get quite far with just a smile and puppy eyes. :)

This being the first time in Russia, it was quite fun riding around on the Metro in the morning trying to find the conference when you can’t tell the difference between a station name and a exit sign! But the Moscow Metro is really impressive, a massive deep underground art gallery. Even though I was lost, it was all in all quite a nice morning being that this was where I ended up:

I personally didn’t get much out of the sessions since most of them were in Russian. And as we know from previous experience, Russian is not my strong side.

I have to send out a sorry to the audience at my session which had the pleasure of experiencing my worst talk to date! Due to technical issues (HDMI only projectors? first conference ever!) I had to improvise last minute and do a demo less session on a Russian language windows 7 laptop over a flaky conference network. It could have gone smoother to say the least.

On the bright side, we did manage to release Arquillian Weblogic support during the conference. Thank you, Vineet Reynolds, for the contribution!

Devoxx – Antwerpen – Nov 15-18

Then off to the last stop of the this years tour, Devoxx! Devoxx being one of the largest European Java conference, with massive cinema session rooms and thousands of people, we were up for a fun week.

During a Hackfest we had a long chat with John Ferguson Smart, the creator of Thucydides. Thucydides is a reporting tool for ATDD based on Selenium. The outcome boils down to: He wants to focus on reporting and not so much runtime, while we focus on runtime and leave reporting to others. A match made in heaven. More to come on this later.

We had the pleasure of meeting Bartosz Majsak, another long Arquillian/ShrinkWrap support, for the first time. The combination of sleep deprivation and Belgium beer seemed to do wonders with our creativity. The later in the week, the odder the idea. It’s going to be fun implementing some of this in the upcoming months.

During the week we found the time to do the first release of: Arquillian Extension Persistence 1.0.0.Alpha1. Thank you, Bartosz Majsak, for the contribution!

You can see the recorded version of the Arquillian Extensions talk on parleys.com.

’til next time…

Arquillian Container - WebLogic Project 1.0.0.Alpha2 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 1.0.0.Alpha2 release of the Arquillian Container - WebLogic Project component!

Some of the highlights in this release

  • Support for Oracle WebLogic Server 12c (12.1.1).
    With the release, one can now test Java EE 6 applications in a WebLogic 12c container.
  • Support for custom hostname verifiers.
    If your WebLogic Container is requires you to use a custom hostname verifier to accept it’s SSL certificate, then it is now possible to configure Arquillian to use the hostname verifier.
    If you want to configure a hostname verifier, use the hostnameVerifierClass and classPath properties.
  • Improvements in performance. Archives are now deployed faster to a WebLogic container.

What is Arquillian?

Arquillian is open source software that empowers you to test JVM-based applications more effectively. Created to defend the software galaxy from bugs, Arquillian brings your test to the runtime so you can focus on testing your application's behavior rather than managing the runtime. Using Arquillian, you can develop a comprehensive suite of tests from the convenience of your IDE and run them in any IDE, build tool or continuous integration environment.

Release details

Component Arquillian Container - WebLogic Project
Modules
Version 1.0.0.Alpha2 view tag
Release date 2012-01-22
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.container

  • org.jboss.arquillian.container » arquillian-wls-common jar javadoc pom
  • org.jboss.arquillian.container » arquillian-wls-remote-10.3 jar javadoc pom
  • org.jboss.arquillian.container » arquillian-wls-remote-12.1 jar javadoc pom

Release notes and resolved issues 5

WLS Remote 12.1 support

Component Upgrade
  • ARQ-706 - Upgrade to Arquillian core CR7 for WebLogic Containers
Enhancement
  • ARQ-725 - Improve the performance of the WebLogicContainer implementation
Feature Request
  • ARQ-687 - Support for custom hostname verifiers
  • ARQ-707 - Implement a remote container for WebLogic 12c

Thanks to the following list of contributors: Vineet Reynolds, Aslak Knutsen

Arquillian Extension Byteman 1.0.0.Alpha1 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 1.0.0.Alpha1 release of the Arquillian Extension Byteman component!

We’re happy to announce the first release of the Arquillian Byteman marriage.

Byteman is a tool which simplifies tracing and testing of Java programs. Byteman allows you to insert extra Java code into your application, either as it is loaded during JVM startup or even after it has already started running. The injected code is allowed to access any of your data and call any application methods, including where they are private. You can inject code almost anywhere you want and there is no need to prepare the original source code in advance nor do you have to recompile, repackage or redeploy your application. In fact you can remove injected code and reinstall different code while the application continues to execute.

When testing your application you can use Byteman to inject faults or synchronization code, causing your application to perform unusual or unexpected operations required to exercise a test scenario.

In this release we added support the @BMRule(s) annotation on Class and Method level.

@RunWith(Arquillian.class)
@BMRules(
        @BMRule(
                name = "Throw exception on success",
                targetClass = "StatelessManagerBean",
                targetMethod = "success",
                action = "throw new java.lang.RuntimeException()")
)
public class BytemanFaultInjectionTestCase {

    @Deployment
    public static Archive<?> createDeployment() {
        return ShrinkWrap.create(WebArchive.class)
                .addClasses(StatelessManager.class, StatelessManagerBean.class);
    }
...
}
@Test(expected = EJBException.class)
@BMRule(
        name = "Throw exception on success",
        targetClass = "StatelessManagerBean",
        targetMethod = "success",
        action = "throw new java.lang.RuntimeException()")
public void shouldBeAbleToInjectMethodLevelThrowRule()
{
    Assert.assertNotNull("Verify bean was injected", bean);
    bean.success();
}

See the Byteman Website for more on how to write rules.

Before we reach the final release we are planning to bring @BMScript annotation and manual installment of rules during test execution.

What is Arquillian?

Arquillian is open source software that empowers you to test JVM-based applications more effectively. Created to defend the software galaxy from bugs, Arquillian brings your test to the runtime so you can focus on testing your application's behavior rather than managing the runtime. Using Arquillian, you can develop a comprehensive suite of tests from the convenience of your IDE and run them in any IDE, build tool or continuous integration environment.

Release details

Component Arquillian Extension Byteman
Version 1.0.0.Alpha1 view tag
Release date 2012-01-19
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.extension

  • org.jboss.arquillian.extension » arquillian-extension-byteman jar javadoc pom

Release notes and resolved issues 2

Simple support for Rules annotations

Feature Request
  • ARQ-348 - Create a Byteman integration

Thanks to the following list of contributors: Aslak Knutsen

Arquillian TestRunner Spock 1.0.0.Alpha1 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 1.0.0.Alpha1 release of the Arquillian TestRunner Spock component!

Some of the highlights in this release

This is the very first release of Arquillian Spock Test Runner. To quote creators of this great framework “Spock is a testing and specification framework for Java and Groovy applications. What makes it stand out from the crowd is its beautiful and highly expressive specification language.” And we totally agree with them! Writing tests in behavior-driven development manner help developers to focus on features which they need to deliver instead of diving into technical details while writing tests. Those details might change over the time anyway.

Now you can run your spock tests powered by Arquillian (both embedded and remote containers are supported)!

Here’s a tiny little piece of code where you can see yourself how cool Spock and Arquillian are!

class AccountServiceSpecification extends Specification {
  
  @Deployment
  def static JavaArchive "create deployment"() {
    return ShrinkWrap.create(JavaArchive.class)
             .addClasses(AccountService.class, Account.class, SecureAccountService.class)
             .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
  }
 
  @Inject 
  AccountService service
        
  def "Transferring between accounts should result in account withdrawal and deposit"() {
      
    when: "Money has been transfered from one account to another"
      service.transfer(from, to, amount)
        
    then: "Balance must be updated"
      from.balance == fromBalance
      to.balance == toBalance
        
    where:
      from <<         [new Account(100),  new Account(10)]
      to <<           [new Account(50),   new Account(90)]
      amount <<       [50,                10]
      fromBalance <<  [50,                0]
      toBalance <<    [100,               100]
  }
}

What is Arquillian?

Arquillian is open source software that empowers you to test JVM-based applications more effectively. Created to defend the software galaxy from bugs, Arquillian brings your test to the runtime so you can focus on testing your application's behavior rather than managing the runtime. Using Arquillian, you can develop a comprehensive suite of tests from the convenience of your IDE and run them in any IDE, build tool or continuous integration environment.

Release details

Component Arquillian TestRunner Spock
Version 1.0.0.Alpha1 view tag
Release date 2012-01-13
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.spock

  • org.jboss.arquillian.spock » arquillian-spock-core jar javadoc pom
  • org.jboss.arquillian.spock » arquillian-spock-standalone jar javadoc pom
  • org.jboss.arquillian.spock » arquillian-spock-container jar javadoc pom

Release notes and resolved issues 3

First preview release of Arquillian integration with Spock

Feature Request
  • ARQ-636 - Add Remote support to the Spock TestRunner
  • ARQ-675 - Update Spock Test Runner pom setup to match other extensions

Thanks to the following list of contributors: Bartosz Majsak, Aslak Knutsen, Antony Blakey