Approving a Pathways level request

I submitted my Pathways Level 1 award in early January. Due to a combination of club officer vacations and the officers not knowing what to do (since Pathways is new), it took over a month to get it approved. I completed level 2 in that time.

Today, I screenshared with the club President and we approved my Level 1 award. Now that we know what to do,we know it should take under ten minutes. Here’s the process to quickly and easily approve a level for members of your Toastmasters club!

Step 1 – the club officer gathers info that the member  has completed the projects in the path.

There are a few options for doing this

  1. The member provides sufficient evidence that he/she has completed the speeches in the path. I went this route and emailed all my evaluations to the President and VPE. (I had chose this option because I’m a member of two clubs so the officers of the Pathways club have no other ways of validating)
  2. Past meeting agendas
  3. Speak easy or other online tracking system.

I recommend having the member at least provide you with the dates for validation if not the evaluations.

Step 2 – sign in to base camp manager

The club President, VPE or Secretary has to do this step.

  1. Sign into toastmasters.org
  2. Click “pathways”
  3. Click “go to basecamp”
  4. In the middle tile, you’ll have two options – you could choose “log in as a member” – but don’t. That takes you to Base Camp rather than Base Camp Manager. Instead, click the button under it to go to Base Camp Manager.
  5. Click “Pending Requests”
  6. Clcik the members name to view the transcript to verify. This could be cross referencing PDF evals or looking at agendas
  7. Then click the green checkbox to approve or the red x to reject. Either way, you can leave an optional comment to submit.

This process (starting from step 5), is described in the official docs with screenshots.

The member gets an email. I got mine a few minutes after the club officer hit approve.

Step 3 – getting DCP credit

Then go back into toastmasters.org and file an educational award. This increases the member’s title and gets credit towards the club’s DCP. It’s easy though – no need to type in titles:

  1. Club central
  2. Submit education awards
  3. Select member from pull down
  4. Education – level 1 (or whatever level)
  5. Submit

junit 5, gradle and containers

Up until recently, I’ve been using JUnit 5 with Eclipse and Maven. As I started using it with Gradle, I became frustrated that you couldn’t see the number of tests run when the tests succeeded. (Don’t worry; this is an easily solvable problem.)

First JUnit 4

You can add code to have Groovy print the number of tests. This matches the number of tests that Eclipse/Maven say are run.

test {
   afterSuite { desc, result ->
    	     if (!desc.parent)
        		println("${result.resultType} " +
            "(${result.testCount} tests, " +
            "${result.successfulTestCount} successes, " +
            "${result.failedTestCount} failures, " +
            "${result.skippedTestCount} skipped)")
   }
}

On to JUnit 5
It’s even less code to ask JUnit 5 to print the test results:

junitPlatform {
  details 'tree'
}

This prints something like

Test run finished after 2518 ms
 [ 20 containers found ]
 [ 0 containers skipped ]
 [ 20 containers started ]
 [ 0 containers aborted ]
 [ 20 containers successful ]
 [ 0 containers failed ]
 [ 27 tests found ]
 [ 1 tests skipped ]
 [ 26 tests started ]
 [ 0 tests aborted ]
 [ 26 tests successful ]
 [ 0 tests failed ]

I agree that I have 27 tests with 1 skipped. But what’s this 20 containers? As you can see from the tree, we have:

  • 1 – JUnit Vintage – to run the JUnit 3/4 tests
  • 1 – JUnit Jupiter – to run the JUnit 5 tests (I didn’t have any in the project at the time I captured this tree so it is an empty container; but still counts)
  • 9 – JUnit test classes
  • 9 – The nine data elements in my parameterized test.

├─ JUnit Vintage ✔
│ ├─ com.devnexus.workshop.junit5.CentennialOlympicParkTest ✔
│ │ ├─ oldestForFirstElement ✔
│ │ ├─ oldestForLastElement ✔
│ │ ├─ oldestForEmptyList ✔
│ │ └─ url ✔
│ ├─ com.devnexus.workshop.junit5.EarthquakeTimeoutTest ✔
│ │ └─ timeout ✔
│ ├─ com.devnexus.workshop.junit5.ParkBuildingTest ✔
│ │ ├─ equalsValues ✔
│ │ └─ hashCodeValues ✔
│ ├─ com.devnexus.workshop.junit5.EarthquakeTest ✔
│ │ ├─ usingStandalone ✔
│ │ ├─ noMessageChecking ✔
│ │ └─ usingRule ✔
│ ├─ com.devnexus.workshop.junit5.GeorgiaAquariumTest ✔
│ │ ├─ namesOfShows ✔
│ │ └─ numberLines ✔
│ ├─ com.devnexus.workshop.junit5.OlympicsDatesTest ✔
│ │ ├─ [1996-07-19] ✔
│ │ │ └─ date[1996-07-19] ✔
│ │ ├─ [1996-07-20] ✔
│ │ │ └─ date[1996-07-20] ✔
│ │ ├─ [1996-07-31] ✔
│ │ │ └─ date[1996-07-31] ✔
│ │ ├─ [1996-08-03] ✔
│ │ │ └─ date[1996-08-03] ✔
│ │ ├─ [1996-08-04] ✔
│ │ │ └─ date[1996-08-04] ✔
│ │ ├─ [1996-07-18] ✔
│ │ │ └─ date[1996-07-18] ✔
│ │ ├─ [1996-08-05] ✔
│ │ │ └─ date[1996-08-05] ✔
│ │ ├─ [1997-07-18] ✔
│ │ │ └─ date[1997-07-18] ✔
│ │ └─ [1995-08-01] ✔
│ │ └─ date[1995-08-01] ✔
│ ├─ com.devnexus.workshop.junit5.CentennialOlympicParkEnumTest ✔
│ │ └─ allClosingTimesAfter9pm ✔
│ ├─ com.devnexus.workshop.junit5.ShakeExceptionTest ✔
│ │ └─ message ↷ this test is ignored becuase it is unnecessary
│ └─ com.devnexus.workshop.junit5.GeorgiaAquariumWaitTest ✔
│ ├─ plentyOfTime ✔
│ ├─ exactOpening ✔
│ ├─ anyMinuteNow ✔
│ └─ alreadyOpen ✔
└─ JUnit Jupiter ✔

Test run finished after 2518 ms
[ 20 containers found ]
[ 0 containers skipped ]
[ 20 containers started ]
[ 0 containers aborted ]
[ 20 containers successful ]
[ 0 containers failed ]
[ 27 tests found ]
[ 1 tests skipped ]
[ 26 tests started ]
[ 0 tests aborted ]
[ 26 tests successful ]
[ 0 tests failed ]

 

setup for DevNexus workshop – BDD with Spock and JUnit 5

Burk Hufnagel and Jeanne Boyarsky will be presenting a full day workshop entitled “Behavior Driven Development with Spock / What’s new with JUnit 5“. at DevNexus this year. Attendees will use their laptops.

If you run into any trouble setting up for the lab, you can post a comment on this blog post or start a thread in the Testing or IDEs forum at CodeRanch.

Here’s what needs to be installed:

Java

The workshop uses Java 8. If you have Java 9 installed, please ensure it is not the default:

  • Windows/Linux: Update your path
  • Mac: mv /Library/Java/JavaVirtualMachines/java 9/Info.plist /Library/Java/JavaVirtualMachines/java 9/Info.plist.disabled

Validation: run java –version at the command line and ensure it prints out a Java 8 version.

Eclipse (recommended)

You can use the IDE of your choice or none at all. We will be able to answer all questions about Eclipse and the command line. If you choose IntelliJ (2017.2.1 or later), please be sure you are comfortable navigating, running tests and running builds in it.

  1. Download and install Eclipse Oxygen. If you already have Eclipse Oxygen, check the splash screen says it is the December version. If not, please download the latest Eclipse Oxygen.
  2. Help > Eclipse Marketplace Install the STS (Spring Tool Suite) plugin

Validation:

  1. Try to create a new empty Gradle project:
  2. File > New > Other > Gradle Project
  3. Give the project a name and finish
  4. Wait a minute or two for the project to be created
  5. File > New > JUnit Test Case
  6. Confirm you have a radio button called “New JUnit Jupiter test”
  7. Click cancel to exist the wizard
  8. File > New > Other > Spring > Spring Bean Definition
  9. Click cancel to exit the wizard
  10. Success, you are ready for the workshop!

Optional: Gradle

We will be using Gradle as the build tool. While the projects will contain a Gradle command line, you are welcome to use your own Gradle install.

Optional: Git

One of the steps will be to pull code from git. If you have a git command line (or git bash), this is a one line operation. If not, you’ll be able to download a zip file from github so this isn’t a hard requirement.