Skip to content

Instantly share code, notes, and snippets.

View bxcodec's full-sized avatar
:octocat:
Learning and Making

Iman Tumorang bxcodec

:octocat:
Learning and Making
View GitHub Profile
@bxcodec
bxcodec / article.fbs
Last active June 9, 2017 02:25
Article fbs Flatbuffer
namespace articles;
table Image {
url: string ;
mime : string ;
width : int ;
height : int ;
}
@bxcodec
bxcodec / glide.yaml
Created June 11, 2017 03:41
Kurio Sample
import:
- package: github.com/stretchr/testify
version: ^1.1.4
- package: github.com/go-sql-driver/mysql
version: ^1.3.0
- package: github.com/arielizuardi/envase
version: v0.2.1
- package: github.com/docker/docker
version: v17.05.0-ce-rc3
subpackages:
package main
import (
"fmt"
"github.com/bxcodec/faker"
)
type SomeStruct struct {
Int int
@bxcodec
bxcodec / repository_test.go
Last active July 7, 2017 10:03
Repository Test
func TestGetByID(t *testing.T) {
db, mock, err := sqlmock.New()
if err != nil {
t.Fatalf("an error '%s' was not expected when opening a stub database connection", err)
}
defer db.Close()
rows := sqlmock.NewRows([]string{"id", "title", "content", "updated_at", "created_at"}).
AddRow(1, "title 1", "Content 1", time.Now(), time.Now())
query := "SELECT id,title,content,updated_at, created_at FROM article WHERE ID = \\?"
@bxcodec
bxcodec / delivery_test.go
Created July 7, 2017 10:07
Delivery Test
func TestGetByID(t *testing.T) {
var mockArticle models.Article
err := faker.FakeData(&mockArticle)
assert.NoError(t, err)
mockUCase := new(mocks.ArticleUsecase)
num := int(mockArticle.ID)
mockUCase.On("GetByID", int64(num)).Return(&mockArticle, nil)
@bxcodec
bxcodec / golang-prettyurl.go
Created August 7, 2017 03:35 — forked from techslides/golang-prettyurl.go
Generating Pretty Urls for SEO in GoLang using string and regex packages
type Post struct {
// db tag lets you specify the column name if it differs from the struct field
Id int64 `db:"post_id"`
Created int64
Title string `form:"Title" binding:"required"`
Body string `form:"Body"`
UserId int64 `form:"UserId"`
Url string
}
@bxcodec
bxcodec / article.pb.go
Created August 10, 2017 09:55
ArticleHandlerServer interface
// Server API for ArticleHandler service
type ArticleHandlerServer interface {
GetArticle(context.Context, *SingleRequest) (*Article, error)
FetchArticle(*FetchRequest, ArticleHandler_FetchArticleServer) error
GetListArticle(context.Context, *FetchRequest) (*ListArticle, error)
UpdateArticle(context.Context, *Article) (*Article, error)
Delete(context.Context, *SingleRequest) (*DeleteResponse, error)
Store(context.Context, *Article) (*Article, error)
}
@bxcodec
bxcodec / main.go
Last active August 10, 2017 11:08
Main gRPC
package main
func main {
dbHost := config.GetString(`database.host`)
dbPort := config.GetString(`database.port`)
dbUser := config.GetString(`database.user`)
dbPass := config.GetString(`database.pass`)
dbName := config.GetString(`database.name`)
connection := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", dbUser, dbPass, dbHost, dbPort, dbName)
val := url.Values{}
@bxcodec
bxcodec / main.go
Last active August 11, 2017 13:40
Client Main
func main() {
conn, err := grpc.Dial("localhost:8080", grpc.WithInsecure())
if err != nil {
fmt.Println("Unexpected Error", err)
}
defer conn.Close()
// CALL the NewArticleHandlerClient from generated File
c := article.NewArticleHandlerClient(conn)
@bxcodec
bxcodec / article_server.go
Last active August 11, 2017 13:55
Article Server Handler gRPC
package article
import (
"github.com/bxcodec/go-clean-arch-grpc/models"
"github.com/bxcodec/go-clean-arch-grpc/usecase"
)
type server struct {
usecase usecase.ArticleUsecase
}