Skip to content

Instantly share code, notes, and snippets.

extern "C" {
#include "user_interface.h"
}
// Change MAC
byte *mac = (byte*)malloc(6);
WiFi.macAddress(mac);
mac[0] = 0x20;
mac[1] = 0x11;
$ ./test.sh
mesh uses an image, skipping
selenium uses an image, skipping
Building tester
Step 1 : FROM jotschi/protractor
---> ffd0a8bd68a6
Step 2 : RUN mkdir -p /app
---> Using cache
---> b22bae66ffa7
Step 3 : COPY *.js /app/
@Jotschi
Jotschi / Dockerfile
Last active February 4, 2019 21:14
protractor-docker-example
FROM jotschi/protractor
RUN mkdir -p /app
COPY *.js /app/

Integration Testing of a Dockerized Angular App

Protractor

We are using the Protractor testing framework in order to test our Gentics Mesh AngularJS Admin UI webapp. In this blogpost I will explain our setup and how we use docker to run the protractor tests.

Installation: npm install -g protractor

Selenium Node

#!/bin/bash
set -o nounset
set -o errexit
BUILDDIR=/tmp/eclipse-docker
DOCKERHOST=tcp://cetus.office:2375
mkdir -p $BUILDDIR
cd $BUILDDIR
@Test
public void testCreatePerformance() {
// Warmup the system caches etc
warmup();
// Start the stopwatch
mark();
// Invoke the create node action 1000 times
for(int i = 0; i < 1000; i++) {
createNode();
}
//https://dweet.io/dweet/for/aboard-curve?a=green&aMode=fade&b=yellow&bMode=fade&c=red&cMode=fade&d=red&dMode=fade
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
const char* ssid = "sid";
const char* password = "pw";
const int ShiftPWM_latchPin=12;
const int ShiftPWM_clockPin=13;

= Continuous Delivery Changelog

I have recently changed the Gentics Mesh release process from regular releases to a continous delivery release process. One of the questions that directly came up was how to manage a public changelog in continuous delivery workflow?

Previously (regular sequential releases) I would write the changelog entry upfront and since I knew what release version would be expected i could just refer to that version. With CD this changes. I can no longer refer to a specific version since i'm doing CD without actually knowing the version upfront.

I know that I could just fetch the SCM log and generate a changelog using that information but I don't like to use SCM messages for a public (enduser friendly) changelog. A changelog that just consists of SCM messages is way to noisy. Unfortunately it seems that all the open source changelog plugin utlize the git log to build a changelog.

For Gentics CMS I already wrote my own [maven changelog plugin](https://github.com/gentics/maven-changelog-

Functional Performance Tests For Java

Since there seems to be multiple definitions of functional tests here is mine:

A functional test is a test which will test the exposed application features (e.g.: Internal or REST API's ) with less or no mocks compared to unit tests. Functional tests may also interact with databases or other external services.

For Gentics Mesh we already have a lot of functional tests but no performance tests. It is therefore hard to tell whether a change or even a dependency update actually improves or degrades the service performance.

The Gentics Mesh functional tests are written using JUnit. Please keep in mind that a JUnit test must not necessarily be a unit test. In case of mesh we have a lot of functional tests which startup an embedded mesh instance and invoke regular REST requests via HTTP.

//var myrepo = null;
var nodegit = require("nodegit");
var fs = require('fs');
var changelogFolder = "changes";
var files = fs.readdirSync(changelogFolder);
// Iterate over each change file
files.forEach( function(file, index) {
console.log("Checking file ", file);