| 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)) |
| } |