Skip to content

Instantly share code, notes, and snippets.

@aslakknutsen
aslakknutsen / design.go
Last active September 28, 2017 08:52
JSON API ResourceObject GOA
// Definition
/*
func test() {
account := app.AccountSingle{}
account.Data.ID
account.Data.Type
account.Data.Attributes.Name
account.Data.Relationships.OwnedBy
account.Data.Relationships.OwnedBy.Meta
account.Data.Relationships.OwnedBy.Related
db := requires.Resource(t, Database)
space, wis := requires.Objects(t, Space(1), WorkItems(3, ExtraLongTitle()))
func ExtraLongTitle()  {
return func(wi *WorkItem) {
wi.Data.Attributes["system.title"] = ".. long thing.."
}
}
@aslakknutsen
aslakknutsen / workitem.create.html
Created August 16, 2017 00:49
rendered template
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>New Work Item Created</title>
</head>
@aslakknutsen
aslakknutsen / jenkins.log
Created July 9, 2017 20:43
osio jenkins 1.0.201
INFO: Bouncy Castle security provider initialized.
Jul 09, 2017 8:37:10 PM jenkins.InitReactorRunner$1 onTaskFailed
SEVERE: Failed Loading plugin Pipeline: Declarative Extension Points API v1.1.8 (pipeline-model-extensions)
java.io.IOException: Pipeline: Declarative Extension Points API v1.1.8 failed to load.
- Pipeline: Groovy v2.27 is older than required. To fix, install v2.33 or later.
- Pipeline: Job v2.10 is older than required. To fix, install v2.11 or later.
- Pipeline: Model API v1.1.1 is older than required. To fix, install v1.1.8 or later.
at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:621)
at hudson.PluginManager$2$1$1.run(PluginManager.java:517)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
// Show runs the show action.
func (c *WorkitemtypeController) Show(ctx *app.ShowWorkitemtypeContext) error {
var err error
var result *app.WorkItemTypeSingle
err = application.Transactional(c.db, func(appl application.Application) error {
result, err = appl.WorkItemTypes().Load(ctx.Context, ctx.WitID)
if err != nil {
return jsonapi.JSONErrorResponse(ctx, err)
}
@aslakknutsen
aslakknutsen / iteration_test.go
Created March 10, 2017 02:46
Go 1.7 Sub tests
package controller_test
import (
"testing"
"github.com/almighty/almighty-core/app/test"
"github.com/almighty/almighty-core/application"
. "github.com/almighty/almighty-core/controller"
"github.com/almighty/almighty-core/gormsupport/cleaner"
testsupport "github.com/almighty/almighty-core/test"
@aslakknutsen
aslakknutsen / execution_order.sql
Created March 9, 2017 01:26
Order of execution in a single SQL
UPDATE work_items set execution_order = (
SELECT
(
(
SELECT execution_order
FROM work_items
WHERE id = '12262'
)
+
(
package main
import (
"fmt"
"io/ioutil"
"net/http"
"testing"
"encoding/json"
@aslakknutsen
aslakknutsen / requirements.adoc
Last active November 2, 2016 01:09
Test data generator

Mighti Test Data Generator

Should be able to generate data to represent

  • a fixed total number of WorkItems (30.000) (for a given project)

    • spread over a certain time frame (e.g. last 5 years)

      • with possible spike periods (active early on, or active towards the end)

    • over a certain % share of WorkItemTypes (30% Bugs, 2% UserStory, 1% Experiences, n% Tasks)

    • over a certain % share of different States (10% New 2% In Progress 70% Closed)

    • across a team of a certain size with certain % across the people (some more active then other)

@aslakknutsen
aslakknutsen / design.go
Created October 27, 2016 14:18
json api ish Goa struct
// ALMRelationship describes the basic relationship
var ALMRelationship = Type("ALMRelationship", func() {
Attribute("data", ArrayOf(Any))
})
// ALMLink describes a single linked resource
var ALMLink = Type("ALMLink", func() {
Attribute("href", Integer, "Unique numeric representation of the error")
Attribute("meta", HashOf(String, Any), "Related meta information")
})