Introduction

In this article, we will learn how to automate acceptance tests for a REST API. This API provides endpoints to register and authenticate users (sign up/in). Additionally provides a secure endpoint to fetch data of a user. The service persists and fetches data in a mongo database.

The below flow diagram represents how the service works.

API Flow diagram

Prerequisites

Clone the Git repository that contains the

git clone git@github.com:ivancorrales/orion-test-api.git

orion-test-api

We’ll go through the different files and folders in the repository.


https://wesovilabs-tools.github.io/orion

Orion is born to help us to write and automate our acceptance tests. It provides a DSL inspired by Gherkin and based in HCL.

The goal of Orion, is to provide people without technical skills a tool to write acceptance tests.

In this article, we will go through some real scenarios to learn how to deal with Orion.

Setup Orion

To follow the article I highly recommend you to get Orion installed on your computer. It will take you less than a minute

Showcase I: math operations

We will write acceptance tests to verify that operation addand subtractwork correctly.


This article is mainly focused for those developers who haven’t tried Rust yet or they are starting to play with it.


Pre-requisites

To build our intelligent cache we will use the below two libraries:

go-cache: It provides a mechanism to create cache with expiration time. Source code can be found here

beyond: It provides an awesome mechanism to take advantage of AOP. Source code can be found here

1. Code the Memoize advice

Let’s clone the code that will use in this tutorial.

git clone https://github.com/wesovilabs/beyond-examples.git
cd smart-cache

We’ll implement an Around advice to achieve our purpose. …


During the last 3 months I’ve spent a long time on understanding GraphQL but also researching on the best way to teach it to others.

1. There’re not silver bullets in Software development

Don’t think that GraphQL must be the technologies to be used in all your new projects. In fact,

I don’t trust people who wants to convince me that some new framework or programming language are silver bullets.

We could find several comparisons between GraphQL and REST trying to show us which one is the best… or even with GRPC.. Each software problem needs a different solution.

Sometimes a REST approach will be better than a…


Material used by myself to do an introductory workshop on GraphQL

Dive into GraphQL

How many times do you find API’s that re not well documented?

How many time you don’t agree with your workmates about the HTTP status?

How many times do you disagree with the chosen endpoint for a REST Service?


Do you have basic knowledges of Javascript?? Find out what you can do!!

Check out the Spreadsheet template

Download the Spreadsheet from here. This is a very simple spreadsheet that contains a sheet per each month and all of them looks like this


When you introduce in GO, you could miss some functionalities provided by other languages such as Java or NodeJS. That was the reason why I decided to implement Koazee.

Koazee is a streamLike, immutable, lazy-loading and smart Golang Library to deal with slices.

After a few months of hard work and awesome contributions from other developers Koazee provides 23 operations. A few of them are shown below through real scenarios.

Koazee v0.0.4 (Golden Lion)

Learning to use Koazee by examples

For following the examples we are given a list of albums with the below information.

type Song struct { Title string Duration time.Duration } type Album struct { Title string…


To have a good idea won’t guarantee your project is succeed. You need to apply the best practices to make it well-known.

Docs

  • README.md: It provides a functional description about what the project does. An example can found here
  • LICENSE.md: It gives information for developers can contribute to the project. Read more in this link
  • CONTRIBUTING.md: It provides the steps to be followed to contribute to our project. Nice template here
  • CHANGELOG.md: It contains a curated, chronologically ordered list of notable changes for each version of a project. Lear more here
  • Wiki: Beside of the documentation in our code, we should…


Open source, what’s it?

From my point of view, Open source is a perfect example to explain the value of sharing. You do things that will be used by others.

Open source is a way to share our knowledge with other people without expecting anything in return,

5 Lessons learned

Don’t expect to be thanked

Nobody is required to appreciate your job. Even though people save time by making use of your code, they probably won’t thank you

You will really appreciate when someone stars your repositories or just gives you the thank you for your job. That’s so appreciated!

Be ready to face trolls

Along my time doing Open source, I’ve found lot of bad responses…

Iván Corrales Solera

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store