Posts

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 te...

Error with Gradle Build SonarQube Plugin Registering Findbugs Plugin

Image
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. BUILD FAILED 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.3 SonarQube Gradle Plugin:  2.0.1 Update Findbugs plugin on Sonar: First, we had to update our Sonar server: Navigate to the Update Center Navigate to the Sonar Update Ce...

Install a Local Instance of AWS DynamoDB

Image
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 https://raw.githubusercontent.com/Homebrew/install/master/install)" < /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: http://localhost:8000/shell/ This is wh...

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

Image
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: file:///Users/canata/IdeaProjects/projectname/build/reports/findbugs/main.html You can also find the report in your buil...