Skip to content

Commit c30a1ce

Browse files
authored
Add keyreg txn encoding tests (#145)
* Add keyreg txn encoding tests * Add to readme, adjust spacing
1 parent 15ad4b2 commit c30a1ce

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ We have different feature files for unit and integration tests. The unit tests s
3333
| @unit.indexer.rekey | Rekey endpoints added to Algod and Indexer |
3434
| @unit.indexer.logs | Application logs endpoints added to Indexer. |
3535
| @unit.offline | The first unit tests we wrote for cucumber. |
36-
| @unit.transactions | Transaction golden tests. |
36+
| @unit.transactions | Transaction encoding tests. |
37+
| @unit.transactions.keyreg | Keyreg encoding tests. |
3738
| @unit.rekey | Rekey Transaction golden tests. |
3839
| @unit.responses | REST Client Response serialization tests. |
3940
| @unit.tealsign | Test TEAL signature utilities. |

features/unit/transactions.feature

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@unit.transactions
22
@unit
3-
Feature: Transaction goldens
3+
Feature: Transaction encoding
44
Background:
55
Given a signing account with address "BH55E5RMBD4GYWXGX5W5PJ5JAHPGM5OXKDQH5DC4O2MGI7NW4H6VOE4CP4" and mnemonic "awful drop leaf tennis indoor begin mandate discover uncle seven only coil atom any hospital uncover make any climb actor armed measure need above hundred"
66

@@ -34,4 +34,18 @@ Feature: Transaction goldens
3434
| delete | 100 | BH55E5RMBD4GYWXGX5W5PJ5JAHPGM5OXKDQH5DC4O2MGI7NW4H6VOE4CP4 | | | 0 | 0 | 0 | 0 | str:test | 5555,6666 | | AAVDEAJ3NIYOG7XCRBKCJ3T5PUCVL2XASOP3NGX4NPPZ3UX6477PBG6E4Q,AADQIC4PMKRTFMHAAXYAFSGAUULDI2ABBIYVQJ6GZ5JHY6DJPHTU2SPHYM | 1234 | 9000 | 9010 | Mf0h6zjkEIEZPtNM3zsrg+iHQFS0fZxhgr7w35I464M= | gqNzaWfEQMwY2l//Y+mOccwFOp4HuK6vZRspq7jpzMkYRQIA16TPCrwBpmdS4JbcV0cbRR5+FwOzZd9aBGxKwSQX4B9dYgujdHhui6RhcGFhkcQEdGVzdKRhcGFuBaRhcGF0ksQgACoyATtqMON+4ohUJO59fQVV6uCTn7aa/GvfndL+5/7EIAAHBAuPYqMysOAF8ALIwKUWNGgBCjFYJ8bPUnx4aXnnpGFwZmGSzRWzzRoKpGFwaWRko2ZlZc0E0qJmds0jKKJnaMQgMf0h6zjkEIEZPtNM3zsrg+iHQFS0fZxhgr7w35I464OibHbNIzKjc25kxCAJ+9J2LAj4bFrmv23Xp6kB3mZ111Dgfoxcdphkfbbh/aR0eXBlpGFwcGw= | 0 |
3535
| delete | 100 | BH55E5RMBD4GYWXGX5W5PJ5JAHPGM5OXKDQH5DC4O2MGI7NW4H6VOE4CP4 | | | 0 | 0 | 0 | 0 | str:test | | | | 1234 | 9000 | 9010 | Mf0h6zjkEIEZPtNM3zsrg+iHQFS0fZxhgr7w35I464M= | gqNzaWfEQM26fXCfQ8Ay/uwsOya/8iJ9J9DIAfTOus2KXduNgxB195ABBCjniPNramFogzTpkmoK6s+Whj+6gpDzj1ZoFwGjdHhuiaRhcGFhkcQEdGVzdKRhcGFuBaRhcGlkZKNmZWXNBNKiZnbNIyiiZ2jEIDH9Ies45BCBGT7TTN87K4Poh0BUtH2cYYK+8N+SOOuDomx2zSMyo3NuZMQgCfvSdiwI+Gxa5r9t16epAd5mdddQ4H6MXHaYZH224f2kdHlwZaRhcHBs | 0 |
3636
| delete | 100 | BH55E5RMBD4GYWXGX5W5PJ5JAHPGM5OXKDQH5DC4O2MGI7NW4H6VOE4CP4 | | | 0 | 0 | 0 | 0 | str:test | 5555,6666 | 7777,8888 | AAVDEAJ3NIYOG7XCRBKCJ3T5PUCVL2XASOP3NGX4NPPZ3UX6477PBG6E4Q,AADQIC4PMKRTFMHAAXYAFSGAUULDI2ABBIYVQJ6GZ5JHY6DJPHTU2SPHYM | 1234 | 9000 | 9010 | Mf0h6zjkEIEZPtNM3zsrg+iHQFS0fZxhgr7w35I464M= | gqNzaWfEQNRuI7jjkY7nVUFd+weVjF9vL80VLDDhOZTZ7Iu6gPpvMzgiaKhRWPw2GdvdggqyqAp6R71B0iNItmTKcS6ZhAmjdHhujKRhcGFhkcQEdGVzdKRhcGFuBaRhcGFzks0eYc0iuKRhcGF0ksQgACoyATtqMON+4ohUJO59fQVV6uCTn7aa/GvfndL+5/7EIAAHBAuPYqMysOAF8ALIwKUWNGgBCjFYJ8bPUnx4aXnnpGFwZmGSzRWzzRoKpGFwaWRko2ZlZc0E0qJmds0jKKJnaMQgMf0h6zjkEIEZPtNM3zsrg+iHQFS0fZxhgr7w35I464OibHbNIzKjc25kxCAJ+9J2LAj4bFrmv23Xp6kB3mZ111Dgfoxcdphkfbbh/aR0eXBlpGFwcGw= | 0 |
37-
37+
38+
@unit.transactions.keyreg
39+
Scenario Outline: Keyreg Transaction Tests
40+
Given suggested transaction parameters fee <fee>, flat-fee "<flat-fee>", first-valid <first-valid>, last-valid <last-valid>, genesis-hash "<genesis-hash>", genesis-id "<genesis-id>"
41+
When I build a keyreg transaction with sender "<sender>", nonparticipation "<nonpart>", vote first <vote-first>, vote last <vote-last>, key dilution <key-dilution>, vote public key "<vote-pk>", selection public key "<selection-pk>", and state proof public key "<state-proof-pk>"
42+
And sign the transaction
43+
Then the base64 encoded signed transaction should equal "<golden>"
44+
And the decoded transaction should equal the original
45+
46+
Examples:
47+
| fee | flat-fee | first-valid | last-valid | genesis-hash | genesis-id | sender | nonpart | vote-first | vote-last | key-dilution | vote-pk | selection-pk | state-proof-pk | golden |
48+
| 1234 | true | 9000 | 9010 | Mf0h6zjkEIEZPtNM3zsrg+iHQFS0fZxhgr7w35I464M= | cucumbernet | BH55E5RMBD4GYWXGX5W5PJ5JAHPGM5OXKDQH5DC4O2MGI7NW4H6VOE4CP4 | true | 0 | 0 | 0 | | | | gqNzaWfEQNcqeoXqxTMVK+X7bsNnKPMT9rJl2CYwe24vF1jh7gCTDcoUDNbbF34ltpa5lc5lfHF1eaIO3wJGxW5Jt///UQqjdHhuiKNmZWXNBNKiZnbNIyijZ2Vuq2N1Y3VtYmVybmV0omdoxCAx/SHrOOQQgRk+00zfOyuD6IdAVLR9nGGCvvDfkjjrg6Jsds0jMqdub25wYXJ0w6NzbmTEIAn70nYsCPhsWua/bdenqQHeZnXXUOB+jFx2mGR9tuH9pHR5cGWma2V5cmVn |
49+
| 1234 | true | 9000 | 9010 | Mf0h6zjkEIEZPtNM3zsrg+iHQFS0fZxhgr7w35I464M= | cucumbernet | BH55E5RMBD4GYWXGX5W5PJ5JAHPGM5OXKDQH5DC4O2MGI7NW4H6VOE4CP4 | false | 0 | 0 | 0 | | | | gqNzaWfEQOethpN+/R1Z8OwY2DUKWRf7i1nOeSU4DK7YmyebV8E8W1iBVW7VbuDvgwJlb75XD98ILrkLpguZvmkKK/J+3AajdHhuh6NmZWXNBNKiZnbNIyijZ2Vuq2N1Y3VtYmVybmV0omdoxCAx/SHrOOQQgRk+00zfOyuD6IdAVLR9nGGCvvDfkjjrg6Jsds0jMqNzbmTEIAn70nYsCPhsWua/bdenqQHeZnXXUOB+jFx2mGR9tuH9pHR5cGWma2V5cmVn |
50+
| 1234 | true | 9000 | 9010 | Mf0h6zjkEIEZPtNM3zsrg+iHQFS0fZxhgr7w35I464M= | cucumbernet | BH55E5RMBD4GYWXGX5W5PJ5JAHPGM5OXKDQH5DC4O2MGI7NW4H6VOE4CP4 | false | 10000 | 20000 | 1000 | fFBFpcUQnDQwq/cUAvQvWmrHrnqiaz0Ev/ZwxfKoAfI= | VrA73XxHg00Wek46mWYV0AeaG8e1+flkExmZ1MDBokM= | | gqNzaWfEQEsW7yCllgTPVT+Egdi/bkyt4PbLBHd4FGoq+dWx/xmFXMyZ0iiI+Nthqzl2oApKVnAGu9Y5/Sb5xTR8UCMBRQ6jdHhujKNmZWXNBNKiZnbNIyijZ2Vuq2N1Y3VtYmVybmV0omdoxCAx/SHrOOQQgRk+00zfOyuD6IdAVLR9nGGCvvDfkjjrg6Jsds0jMqZzZWxrZXnEIFawO918R4NNFnpOOplmFdAHmhvHtfn5ZBMZmdTAwaJDo3NuZMQgCfvSdiwI+Gxa5r9t16epAd5mdddQ4H6MXHaYZH224f2kdHlwZaZrZXlyZWendm90ZWZzdM0nEKZ2b3Rla2TNA+indm90ZWtlecQgfFBFpcUQnDQwq/cUAvQvWmrHrnqiaz0Ev/ZwxfKoAfKndm90ZWxzdM1OIA== |
51+
| 1234 | true | 9000 | 9010 | Mf0h6zjkEIEZPtNM3zsrg+iHQFS0fZxhgr7w35I464M= | cucumbernet | BH55E5RMBD4GYWXGX5W5PJ5JAHPGM5OXKDQH5DC4O2MGI7NW4H6VOE4CP4 | false | 10000 | 20000 | 1000 | fFBFpcUQnDQwq/cUAvQvWmrHrnqiaz0Ev/ZwxfKoAfI= | VrA73XxHg00Wek46mWYV0AeaG8e1+flkExmZ1MDBokM= | NgGFhUgxI4TEIjw0QcBr6lzdBCtZYxVrN1FP3YFdhbnBOLiimfZu6GgBED52D6mHNN9kcyi+RT6FUF2qZtjOkw== | gqNzaWfEQIBo7tv1+Dtb3ppCH5oidfLd5BOMr7N6m3YmyYVy7wfDlm/aMfx2Enqa3XfInVNZYRT02vCbMa5bQEuBedjnbwejdHhujaNmZWXNBNKiZnbNIyijZ2Vuq2N1Y3VtYmVybmV0omdoxCAx/SHrOOQQgRk+00zfOyuD6IdAVLR9nGGCvvDfkjjrg6Jsds0jMqZzZWxrZXnEIFawO918R4NNFnpOOplmFdAHmhvHtfn5ZBMZmdTAwaJDo3NuZMQgCfvSdiwI+Gxa5r9t16epAd5mdddQ4H6MXHaYZH224f2nc3ByZmtlecRANgGFhUgxI4TEIjw0QcBr6lzdBCtZYxVrN1FP3YFdhbnBOLiimfZu6GgBED52D6mHNN9kcyi+RT6FUF2qZtjOk6R0eXBlpmtleXJlZ6d2b3RlZnN0zScQpnZvdGVrZM0D6Kd2b3Rla2V5xCB8UEWlxRCcNDCr9xQC9C9aaseueqJrPQS/9nDF8qgB8qd2b3RlbHN0zU4g |

0 commit comments

Comments
 (0)