aboutsummaryrefslogtreecommitdiffstats
path: root/tester.sh
blob: 0323dcb428a0d8c8a8700f745911b11aab444bce (plain)
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
#!/usr/bin/env bash

## When in doubt just write a shell script

## new registration request
## should fail because foobar is not a student
curl --request POST \
    --header 'Content-Type: application/json' \
    --data '{
    "student_id": "foobar",
    "public_key": "not_implemented_yet"
}' \
    http://localhost:8080/register

## new registration request
## this student can hold a gradecoin account
curl --request POST \
    --header 'Content-Type: application/json' \
    --data '{
        "student_id": "e254275",
        "public_key": "not_implemented_yet"
    }' \
    http://localhost:8080/register

## new transaction
curl --request POST \
    --header 'Content-Type: application/json' \
    --data '{
    "by": "old_transaction_hash_1",
    "source": "old_transaction_hash_1",
    "target": "target_account",
    "amount": 20,
    "timestamp": "2021-04-09T01:30:30"
}' \
    http://localhost:8080/transaction

## new transaction
curl --request POST \
    --header 'Content-Length: 36864' \
    --data '{
    "source": "old_transaction_hash_2",
    "target": "target_account",
    "amount": 20,
    "timestamp": "2021-04-09T01:31:30"
}' \
    http://localhost:8080/transaction

## new transaction
curl --request POST \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer arstarst.arstarst.arstarst' \
    --data '{
    "by": "e254275",
    "source": "old_transaction_hash_3",
    "target": "target_account",
    "amount": 20,
    "timestamp": "2021-04-09T01:32:30"
}' \
    http://localhost:8080/transaction

printf "\n\nList of current transactions\n\n"
## list transactions
curl localhost:8080/transaction

curl --header "Content-Type: application/json" \
    --header "Authorization: aaa.bbb.ccc" \
    --request POST \
    --data '{
    "transaction_list": [
    "old_transaction_hash_1",
    "old_transaction_hash_2",
    "old_transaction_hash_3"
    ],
    "nonce": 0,
    "timestamp": "2021-04-08T12:30:30",
    "hash": "not_a_thing_yet"
}' \
    http://localhost:8080/block

printf "\n\nShould be scooped up by the block\n\n"
## list transactions
curl localhost:8080/transaction

curl --request POST \
    --header 'Content-Type: application/json' \
    --data '{
    "source": "source_account",
    "target": "target_account",
    "amount": 20,
    "timestamp": "2021-04-09T01:30:30"
}' \
    http://localhost:8080/transaction

printf "\n\nShould have only one transaction\n\n"
curl localhost:8080/transaction

printf "\n\nShould have only one block\n\n"
curl localhost:8080/block

## new registration request
## this student can hold a gradecoin account
curl --request POST \
    --header 'Content-Type: application/json' \
    --data '{
        "student_id": "e254275",
        "public_key": "not_implemented_yet"
    }' \
    http://localhost:8080/register

curl --request POST \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aGEiOiIyYjY0OGZmYWI1ZDlhZjFkNWQ1ZmMwNTJmYzllNTFiODgyZmM0ZmIwYzk5ODYwOGM5OTIzMmY5MjgyMDAwMDAwIiwiaWF0IjoxNjE4MzYwNjQxLCJleHAiOjE3MTgyNjA2NDF9.P5L_uZ9lOhRZCbsG9GDXn_rmZat3dP9Y2lbk8GY4Kg4pOxJIklBUxot-TtJzB0vEJFcjnxVnT2lFLCgfdQLHTJvURiW0KRHi94e1Kj8aDXxJ0qjlq4-c1JCZnAIbDpvkFtHNKz04yfyeSR2htJ6kOjlqVpeUhLVokHhi1x-ZUZZSpeGnlIXgi-AcmkEoyOypZGSZgQ1hjID2f18zgfbshgPK4Dr0hiN36wYMB0y0YiikRbvDuGgDzRLN2nitih46-CXTGZMqIRz3eAfM2wuUSH1yhdKi5_vavz8L3EPVCGMO-CKlPUDkYA-duQZf_q3tG2fkdaFlTAcCik_kVMprdw' \
    --data '{
    "transaction_list": [
    "e254275"
    ],
    "nonce": 2151653522,
    "timestamp": "2021-04-13T23:38:00",
    "hash": "000000a996ab57b3aff1ad1d009767278f819895b28ef860a8ec3b6560d6ed0e"
}' \
    http://localhost:8080/block