blob: 97572048818f7fc52d9970f257a6b1431d403667 [file] [log] [blame]
package sub
import (
"fmt"
"math/rand"
"os"
"testing"
"time"
"github.com/stretchr/testify/assert"
)
const (
project = "test-project"
mySubscriptionName = "my-subscription-name"
)
func TestNewConstNameProvider(t *testing.T) {
name, err := NewConstNameProvider(mySubscriptionName).SubName()
assert.NoError(t, err)
assert.Equal(t, mySubscriptionName, name)
}
func TestNewRoundRobinNameProvider_LocalIsTrue_SubNameUsesHostName(t *testing.T) {
rand.Seed(time.Now().Unix())
topicName := "events"
name, err := NewRoundRobinNameProvider(true, topicName).SubName()
assert.NoError(t, err)
hostname, err := os.Hostname()
assert.NoError(t, err)
assert.Equal(t, name, fmt.Sprintf("%s-%s", topicName, hostname))
}
func TestNewRoundRobinNameProvider_LocalIsFalse_SubNameUsesSuffix(t *testing.T) {
rand.Seed(time.Now().Unix())
topicName := "events"
name, err := NewRoundRobinNameProvider(false, topicName).SubName()
assert.NoError(t, err)
assert.Equal(t, name, topicName+subscriptionSuffix)
}
func TestNewBroadcastNameProvider_LocalIsTrue_SubNameDoesNotUseSuffix(t *testing.T) {
rand.Seed(time.Now().Unix())
topicName := "events"
name, err := NewBroadcastNameProvider(true, topicName).SubName()
assert.NoError(t, err)
hostname, err := os.Hostname()
assert.NoError(t, err)
assert.Equal(t, name, fmt.Sprintf("%s-%s", topicName, hostname))
}
func TestNewBroadcastNameProvider_LocalIsFalse_SubNameUsesSuffix(t *testing.T) {
rand.Seed(time.Now().Unix())
topicName := "events"
name, err := NewBroadcastNameProvider(false, topicName).SubName()
assert.NoError(t, err)
hostname, err := os.Hostname()
assert.NoError(t, err)
assert.Equal(t, name, fmt.Sprintf("%s-%s%s", topicName, hostname, subscriptionSuffix))
}