ScalaTest
A second approach when using TDD is Tests as Specifications, and for this example we will be using ScalaTest. (Instalation requires extra steps) First add it to build.sbt libraryDependencies +=...
View ArticleBDD with ScalaTest
In a previous post we briefly check the capabilities provided by ScalaTest for Test Driven Development with Scala. Now we’ll see how to use this library to perform BDD. class CustomerFeatureSpec...
View ArticleScala BDD with Specs2
Install and configure Same old example using Spec2 class CustomerSpec extends Specification { "Customer" >> { "full name should be composed from first and last names" >> { Customer("Oak",...
View ArticleAPI Tools
An initial list of API testing/mocking/documenting tools: Paw Postman Restlet API Fortress Readme.io SoapUI Insomnia APIMatic RapidAPI(An API Hub) SwaggerHub Mulesoft Stoplight Oracle/Apiary Katalon...
View Article(New) IT Slang
Deprecate: (Do) Not used (use it) anymore. Rubber ducking: A method of debugging code. The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a...
View ArticleA good API
This is a post I always wanted to write, but while surfing the RapidAPI’s API catalog, I stumbled upon this amazing description of what makes an API not good but excellent. What makes a good API?...
View ArticleGherkin-like BDD with Scala + Specs2
In the previous post, we had an initial view of how to use Specs2 for the creation of Unit (Dev Oriented) and Acceptance (Non-technical users) specifications. The next step on this journey is...
View ArticleReactive Systems
The Reactive Manifesto tells us what characteristics an App (or better yet, a system) should have in order to be considered as reactive. The Developing Modern Apps Scala book lists four characteristics...
View ArticleReactive with Akka: first approach
Although there are several implementations for reactive systems and streams, we are going to focus on Akka. What the heck is Akka? Akka is a set of open-source libraries for designing scalable,...
View ArticleJS Constants
Recently I have found a simple but interesting package that allows you to simplify the creation of constants: node-constants. To use it first it must be installed: npm install --save node-constants Or...
View ArticleWorking with Webdriverio Boilerplates
Note: This is an updated version of this older post. When starting a test automation project, it may be useful, even wise not to work from the very beginning. First, select your preferred flavour, for...
View ArticleThe Appium Boilerplate
In the previous post we tried a fantastic webdriverio5 cucumber boilerplate. But that project already includes a configuration for running the suite on Appium. So, let’s review that thing....
View ArticleBDD with ScalaTest
In a previous post we briefly check the capabilities provided by ScalaTest for Test Driven Development with Scala. Now we’ll see how to use this library to perform BDD. class CustomerFeatureSpec...
View ArticleDockerizing a Node.js App
A cheatsheet for Katacoda’s Dockerizing Node.js application scenario. Dockerfile: FROM node:10-alpineRUN mkdir -p /src/appWORKDIR /src/appCOPY package.json /src/app/package.jsonRUN npm installCOPY ....
View ArticleOptimising Dockerfile with OnBuild
Cheatsheet for Katacoda’s Optimising Dockerfile with OnBuild and Ignoring Files scenarios. Dockerfile FROM node:7 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app ONBUILD COPY package.json /usr/src/app/...
View ArticleBuilding container images
Cheatsheet for Katakoda’s Building Container images scenario. Dockerfile FROM nginx:1.11-alpine COPY index.html /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] Build container image...
View ArticleData Containers
Based on Katakoda’s Data Containers scenario. docker create -v /config --name dataContainer busybox Copy files docker cp config.conf dataContainer:/config/ Mount the data container from another...
View ArticleManaging Container Log Files
Based upon Katakoda’s Managing Log Files scenario. Show a container’s log docker run -d --name redis-server redis Using syslog: docker run -d --name redis-syslog --log-driver=syslog redis Disable...
View ArticleEnsuring Container Uptime With Restart Policies
Based on Katakoda’s Ensuring Container Uptime With Restart Policies Scenario. This instance exits with code 1 to simulate a crash docker run -d --name restart-default scrapbook/docker-restart-example...
View ArticleCommunication between containers
Based on Katakoda’s Communication between containers scenario. A Nodejs app using a redis db The db container docker run -d --name redis-server redis A link and then cat /etc/hosts docker run --link...
View Article