-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain_test.go
67 lines (59 loc) · 1.58 KB
/
main_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package main_test
import (
"context"
"crypto/rand"
"math/big"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/service/dynamodb"
v1 "github.com/dbProjectRED/redimo/v1"
)
func randSeq(n int) string {
letters := []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
b := make([]rune, n)
for i := range b {
n2, _ := rand.Int(rand.Reader, big.NewInt(int64(len(letters))))
b[i] = letters[n2.Int64()]
}
return string(b)
}
func makeTable() v1.Table {
table := v1.Table{
Table: randSeq(10),
AwsAccessKeyId: "abc",
AwsSecretAccessKey: "def",
AwsSessionToken: "ghi",
AwsRegion: "ap-south-1",
EndpointOverride: "http://localhost:8000",
}
_, _ = table.Client().CreateTableRequest(&dynamodb.CreateTableInput{
AttributeDefinitions: []dynamodb.AttributeDefinition{
{
AttributeName: aws.String("pk"),
AttributeType: dynamodb.ScalarAttributeTypeS,
},
{
AttributeName: aws.String("sk"),
AttributeType: dynamodb.ScalarAttributeTypeS,
},
},
BillingMode: dynamodb.BillingModePayPerRequest,
GlobalSecondaryIndexes: nil,
KeySchema: []dynamodb.KeySchemaElement{
{
AttributeName: aws.String("pk"),
KeyType: dynamodb.KeyTypeHash,
},
{
AttributeName: aws.String("sk"),
KeyType: dynamodb.KeyTypeRange,
},
},
LocalSecondaryIndexes: nil,
ProvisionedThroughput: nil,
SSESpecification: nil,
StreamSpecification: nil,
TableName: aws.String(table.GetTable()),
Tags: nil,
}).Send(context.Background())
return table
}