/
peda_test.go
139 lines (118 loc) · 3.73 KB
/
peda_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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package peda
import (
"fmt"
"testing"
"github.com/aiteung/atdb"
"github.com/whatsauth/watoken"
"go.mongodb.org/mongo-driver/bson"
)
func TestCreateNewUserRole(t *testing.T) {
var userdata User
userdata.Username = "admin"
userdata.Password = "12345"
userdata.Role = "admin"
mconn := SetConnection("MONGOSTRING", "petapedia")
CreateNewUserRole(mconn, "user", userdata)
}
func TestDeleteUser(t *testing.T) {
mconn := SetConnection("MONGOSTRING", "petapedia")
var userdata User
userdata.Username = "yyy"
DeleteUser(mconn, "user", userdata)
}
func CreateNewUserToken(t *testing.T) {
var userdata User
userdata.Username = "dzikri"
userdata.Password = "dzikri"
userdata.Role = "admin"
// Create a MongoDB connection
mconn := SetConnection("MONGOSTRING", "petapedia")
// Call the function to create a user and generate a token
err := CreateUserAndAddToken("your_private_key_env", mconn, "user", userdata)
if err != nil {
t.Errorf("Error creating user and token: %v", err)
}
}
func TestGFCPostHandlerUser(t *testing.T) {
mconn := SetConnection("MONGOSTRING", "petapedia")
var userdata User
userdata.Username = "dzikri"
userdata.Password = "dzikri"
userdata.Role = "admin"
CreateNewUserRole(mconn, "user", userdata)
}
func TestProduct(t *testing.T) {
mconn := SetConnection("MONGOSTRING", "petapedia")
var productdata Product
productdata.Nomorid = 1
productdata.Name = "dzikri"
productdata.Description = "haq"
productdata.Price = 1000
productdata.Size = "XL"
productdata.Stock = 100
productdata.Image = "https://images3.alphacoders.com/165/thumb-1920-165265.jpg"
CreateNewProduct(mconn, "product", productdata)
}
func TestAllProduct(t *testing.T) {
mconn := SetConnection("MONGOSTRING", "petapedia")
product := GetAllProduct(mconn, "product")
fmt.Println(product)
}
// func TestUpdateGetData(t *testing.T) {
// mconn := SetConnection("MONGOSTRING", "petapedia")
// datagedung := GetAllBangunanLineString(mconn, "petapedia")
// fmt.Println(datagedung)
// }
func TestGeneratePasswordHash(t *testing.T) {
password := "dzikri"
hash, _ := HashPassword(password) // ignore error for the sake of simplicity
fmt.Println("Password:", password)
fmt.Println("Hash: ", hash)
match := CheckPasswordHash(password, hash)
fmt.Println("Match: ", match)
}
func TestGeneratePrivateKeyPaseto(t *testing.T) {
privateKey, publicKey := watoken.GenerateKey()
fmt.Println(privateKey)
fmt.Println(publicKey)
hasil, err := watoken.Encode("dzikri", privateKey)
fmt.Println(hasil, err)
}
func TestHashFunction(t *testing.T) {
mconn := SetConnection("MONGOSTRING", "petapedia")
var userdata User
userdata.Username = "dzikri"
userdata.Password = "dzikri"
filter := bson.M{"username": userdata.Username}
res := atdb.GetOneDoc[User](mconn, "user", filter)
fmt.Println("Mongo User Result: ", res)
hash, _ := HashPassword(userdata.Password)
fmt.Println("Hash Password : ", hash)
match := CheckPasswordHash(userdata.Password, res.Password)
fmt.Println("Match: ", match)
}
func TestIsPasswordValid(t *testing.T) {
mconn := SetConnection("MONGOSTRING", "petapedia")
var userdata User
userdata.Username = "dzikri"
userdata.Password = "dzikri"
anu := IsPasswordValid(mconn, "user", userdata)
fmt.Println(anu)
}
func CreateContent(t *testing.T) {
mconn := SetConnection("MONGOSTRING", "petapedia")
var contentdata Content
contentdata.ID = 1
contentdata.Content = "dzikri"
contentdata.Description = "haq"
contentdata.Image = "https://images3.alphacoders.com/165/thumb-1920-165265.jpg"
CreateNewContent(mconn, "content", contentdata)
}
func TestUserFix(t *testing.T) {
mconn := SetConnection("MONGOSTRING", "petapedia")
var userdata User
userdata.Username = "dzikri"
userdata.Password = "dzikri"
userdata.Role = "admin"
CreateUser(mconn, "user", userdata)
}