Showing posts from 2016

Integrate Wiremock into Spring Boot Java Web Application for Mocking External Dependencies

Introduction WireMock is a mock server for HTTP-based APIs. Some might consider it a service virtualization tool or a mock server. It enables you to stub out an API or other external dependency you depend on to expedite local development. It supports testing of edge cases and failure modes that the real API won't reliably produce. It also is useful in mocking out external dependencies in unit and integration tests. It has excellent integration with jUnit.

Add Wiremock Dependency First you will want to add the Wiremock dependency. You can download the regular dependency or the fat JAR stand-alone version that contains all it's dependencies. We will be using the standard dependency here. Add the following dependency to your build.gradle

build.gradle dependencies { testCompile('com.github.tomakehurst:wiremock:2.1.12') }

Add Wiremock Unit test Here is the complete unit test that you can use for testing your integration with Wiremock. This unit test uses a jU…

Error with Gradle Build SonarQube Plugin Registering Findbugs Plugin

How to Fix the Error: Unable to register extension org.sonar.plugins.findbugs.FindbugsConfiguration when Running Gradle sonarqube task

Using Gradle, Sonarqube and Findbugs you may get the following error when you try to execute the command:

./gradlew clean build sonarqube

Here is the error:FAILURE: Build failed with an exception.
* What went wrong:Execution failed for task ':sonarqube'.> Unable to register extension org.sonar.plugins.findbugs.FindbugsConfiguration
* Try:Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Root Cause
This bug seems to occur when there is a mismatch of versions that don't play nice together.

For instance here are the versions of our stack:

Sonar Version: 5.3SonarQube Gradle Plugin:  2.0.1
Update Findbugs plugin on Sonar:
First, we had to update our Sonar server:

Navigate to the Update Center

Update the findbugs plugin and restart the sonar instance

Update your Gradle Dependenc…

Install a Local Instance of AWS DynamoDB

STEP 1:  Press Command+Space and type Terminal and press enter/return key.
STEP 2:  Install Brew(If you don't already have it installed.)  Run this command in the Terminal app.
ruby -e "$(curl -fsSL" < /dev/null 2> /dev/null
Then press enter and wait for the command to finish. STEP 3:  Use Brew to install and download dynamoDB so that you can run it locally. brew install dynamodb-local
Launch your DynamoDB local instance like this:
To have start dynamodb-local now and restart at login as a background service using brew services:   brew services start dynamodb-local Or, if you don't want/need a background service you can just run:   /usr/local/bin/dynamodb-local
You can then access a JS Shell in a browser such as Chrome:
URL to hit the Javascript shell for your locally running DynamoDB instance:
This is what you will see what you load up your DynamoDB Shell.  If you see…

Suppress FindBugs Warnings in a Java and Spring Boot Web Application using Gradle

How to Suppress FindBugs Warnings using Annotations in a +Spring Boot and +Java Application

If your build is breaking because of a FindBugs issue and it is a false-positive or you are unable to resolve the issue because of other considerations, you can add an Annotation to ignore the Findbugs warning.

Update your Gradle Dependencies
You will want to add the following compile time dependency to your build.gradle file.
compile group: 'findbugs', name: 'findbugs', version: '1.0.0'
dependencies { compile group: 'findbugs', name: 'findbugs', version: '1.0.0'}

Get the Findbugs Issue ID You will need a specific ALL_CAPS identifier so that FindBugs knows what bug to ignore.

Locate the FindBugs Report
In your build message, you will see a link to the findbugs report:

You can also find the report in your build artifact.  Right-click and open in your preferred browser to …