Skip to content

Instantly share code, notes, and snippets.

View Abdulsametileri's full-sized avatar
🎈
I did not find coding, coding found me

A.Samet İleri Abdulsametileri

🎈
I did not find coding, coding found me
View GitHub Profile
func (t *TestContainerWrapper) RunContainer() error {
req := testcontainers.ContainerRequest{
Image: fmt.Sprintf("%s:%s", RedpandaImage, RedpandaVersion),
ExposedPorts: []string{
"9092:9092/tcp",
},
Cmd: []string{"redpanda", "start"},
WaitingFor: wait.ForLog("Successfully started Redpanda!"),
AutoRemove: true,
}
type TestContainerWrapper struct {
container testcontainers.Container
hostPort int
}
type IntegrationTestSuite struct {
suite.Suite
wrapper TestContainerWrapper
}
consumer:
groupId: "exception-consumer"
topic: "exception"
maxRetry: 3
concurrency: 1
cron: "*/20 * * * *"
duration: 15m
func main() {
// ..
var consumeFn kafka.ConsumeFn = func(message kafka.Message) error {
fmt.Printf("consumer > Message received: %s\n", string(message.Value))
return nil
}
c := cronsumer.New(kafkaConfig, consumeFn)
c.Run()
}
package main
import (
"fmt"
"net/http/httputil"
"net/url"
"sync/atomic"
)
type Backend struct {
type Registrar struct {
DockerClient *DockerClient
SRegistry *ServiceRegistry
}
func (r *Registrar) Init() error {
cList, err := r.DockerClient.ContainerList(context.Background(), types.ContainerListOptions{
Filters: filters.NewArgs(
filters.Arg("ancestor", HelloServiceImageName),
filters.Arg("status", ContainerRunningState),
package main
import (
"log"
"time"
"github.com/Abdulsametileri/package-tracking-app/domain"
_packageClient "github.com/Abdulsametileri/package-tracking-app/package/client"
_packageHttpDelivery "github.com/Abdulsametileri/package-tracking-app/package/delivery/http"
_packageUcase "github.com/Abdulsametileri/package-tracking-app/package/usecase"
func (p *packageUsecase) TrackByVehicleID(ctx context.Context, id string) (*domain.Package, error) {
bytes, err := p.pc.ConsumeByVehicleID(ctx, id)
if err != nil {
return nil, err
}
var res domain.Package
err = json.Unmarshal(bytes, &res)
return &res, err
}
package client
import (
"context"
"errors"
"fmt"
"github.com/Abdulsametileri/package-tracking-app/domain"
amqp "github.com/rabbitmq/amqp091-go"
)
@Abdulsametileri
Abdulsametileri / package_handler.go
Created July 12, 2022 11:33
Package Track Application WS Handler
func (p *PackageHandler) TrackByVehicleID(c echo.Context) error {
wsConn, err := p.upgrader.Upgrade(c.Response(), c.Request(), nil)
if err != nil {
return err
}
ctx, cancelFunc := context.WithCancel(context.Background())
go func() {
_, _, err = wsConn.ReadMessage()