meeting/throttling/rateLimit_test.go

33 lines
703 B
Go

package throttling
import (
"context"
"fmt"
"testing"
"time"
)
func TestCallFunction(t *testing.T) {
client := &Callable{}
// create context for app
ctx := context.Background()
fmt.Println("Starting")
throttle := CreateThrottle(ctx, 2)
CallFunction(ctx, client, &Payload{}, throttle)
CallFunction(ctx, client, &Payload{}, throttle)
CallFunction(ctx, client, &Payload{}, throttle)
time.Sleep(2 * time.Second)
fmt.Println("Continuing")
CallFunction(ctx, client, &Payload{}, throttle)
CallFunction(ctx, client, &Payload{}, throttle)
CallFunction(ctx, client, &Payload{}, throttle)
}
type Callable struct {
}
func (c *Callable) Call(p *Payload) {
fmt.Println("Called with payload")
}