Initial cloud-services repo - gateway service + pkg modules

This commit is contained in:
Chris Rai
2026-01-30 23:14:52 -05:00
commit fbb820d7b3
1037 changed files with 171318 additions and 0 deletions

View File

@@ -0,0 +1,131 @@
package mock
import (
"fmt"
"sync"
)
// KafkaMock mock for Kafka utility
type KafkaMock struct {
lock sync.Mutex
err error
produce string
ProduceMessages map[string]map[string]interface{}
}
// Produce mocks produce method
func (k *KafkaMock) Produce(topic string, key string, payload interface{}, headers map[string][]byte) error {
k.lock.Lock()
defer k.lock.Unlock()
if k.err != nil {
return k.err
}
k.produce = fmt.Sprintf("%s %v", topic, payload)
k.addMessage(topic, key, payload)
return nil
}
func (k *KafkaMock) ProduceBinary(topic string, key string, data []byte, header map[string][]byte) error {
if k.err != nil {
return k.err
}
k.produce = fmt.Sprintf("%s %v", topic, data)
k.addMessage(topic, key, data)
return nil
}
func (k *KafkaMock) ProduceBinaryToChannel(topic string, key string, payload []byte) error {
if k.err != nil {
return k.err
}
k.produce = fmt.Sprintf("%s %v", topic, payload)
k.addMessage(topic, key, payload)
return nil
}
/*
func (k *KafkaMock) ProduceBatch(topic string, key string, payload [][]byte) error {
if k.err != nil {
return k.err
}
for _, item := range payload {
k.addMessage(topic, key, item)
}
return nil
}*/
func (k *KafkaMock) ProduceToChannel(topic string, key string, payload interface{}) error {
k.addMessage(topic, key, payload)
return nil
}
func (k *KafkaMock) ProduceSignalBatch(topic string, key string, payload interface{}) error {
if k.err != nil {
return k.err
}
k.produce = fmt.Sprintf("%s %v", topic, payload)
k.addMessage(topic, key, payload)
return nil
}
func (k *KafkaMock) ReadEvents() {
// nothing
}
// Close mocks close method
func (k *KafkaMock) Close() {
// nothing
}
// SetError to set error for mock Kafka utility
func (k *KafkaMock) SetError(err error) {
k.err = err
}
func (k *KafkaMock) addMessage(topic string, id string, payload interface{}) {
if k.ProduceMessages == nil {
k.ProduceMessages = map[string]map[string]interface{}{}
}
if k.ProduceMessages[topic] == nil {
k.ProduceMessages[topic] = map[string]interface{}{}
}
k.ProduceMessages[topic][id] = payload
}
func (k *KafkaMock) Reset() {
k.ProduceMessages = map[string]map[string]interface{}{}
}
func (k *KafkaMock) Len() int {
return 0
}
func (k *KafkaMock) Flush(timeoutMs int) int {
return 0
}
// GetProduce to set error for mock Kafka utility
func (k *KafkaMock) GetProduce() string {
return k.produce
}
// GetKafkaMock returns mock Kafka utilty
func GetKafkaMock(err error) *KafkaMock {
return &KafkaMock{
err: err,
}
}