@@ -590,22 +590,24 @@ mod tests {
590
590
}
591
591
592
592
/// Takes an instance and executes it
593
- fn test_hackatom_instance_execution < A , S , Q > ( instance : & mut Instance < A , S , Q > )
593
+ fn test_hackatom_instance_execution < S , Q > ( instance : & mut Instance < MockApi , S , Q > )
594
594
where
595
- A : BackendApi + ' static ,
596
595
S : Storage + ' static ,
597
596
Q : Querier + ' static ,
598
597
{
599
598
// instantiate
600
- let info = mock_info ( "creator" , & coins ( 1000 , "earth" ) ) ;
601
- let msg = br#"{"verifier": "verifies", "beneficiary": "benefits"}"# ;
602
- let response = call_instantiate :: < _ , _ , _ , Empty > ( instance, & mock_env ( ) , & info, msg)
603
- . unwrap ( )
604
- . unwrap ( ) ;
599
+ let info = mock_info ( & instance. api ( ) . addr_make ( "creator" ) , & coins ( 1000 , "earth" ) ) ;
600
+ let verifier = instance. api ( ) . addr_make ( "verifies" ) ;
601
+ let beneficiary = instance. api ( ) . addr_make ( "benefits" ) ;
602
+ let msg = format ! ( r#"{{"verifier": "{verifier}", "beneficiary": "{beneficiary}"}}"# ) ;
603
+ let response =
604
+ call_instantiate :: < _ , _ , _ , Empty > ( instance, & mock_env ( ) , & info, msg. as_bytes ( ) )
605
+ . unwrap ( )
606
+ . unwrap ( ) ;
605
607
assert_eq ! ( response. messages. len( ) , 0 ) ;
606
608
607
609
// execute
608
- let info = mock_info ( "verifies" , & coins ( 15 , "earth" ) ) ;
610
+ let info = mock_info ( & verifier , & coins ( 15 , "earth" ) ) ;
609
611
let msg = br#"{"release":{}}"# ;
610
612
let response = call_execute :: < _ , _ , _ , Empty > ( instance, & mock_env ( ) , & info, msg)
611
613
. unwrap ( )
@@ -936,10 +938,17 @@ mod tests {
936
938
assert_eq ! ( cache. stats( ) . misses, 0 ) ;
937
939
938
940
// instantiate
939
- let info = mock_info ( "creator" , & coins ( 1000 , "earth" ) ) ;
940
- let msg = br#"{"verifier": "verifies", "beneficiary": "benefits"}"# ;
941
- let res =
942
- call_instantiate :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg) . unwrap ( ) ;
941
+ let info = mock_info ( & instance. api ( ) . addr_make ( "creator" ) , & coins ( 1000 , "earth" ) ) ;
942
+ let verifier = instance. api ( ) . addr_make ( "verifies" ) ;
943
+ let beneficiary = instance. api ( ) . addr_make ( "benefits" ) ;
944
+ let msg = format ! ( r#"{{"verifier": "{verifier}", "beneficiary": "{beneficiary}"}}"# ) ;
945
+ let res = call_instantiate :: < _ , _ , _ , Empty > (
946
+ & mut instance,
947
+ & mock_env ( ) ,
948
+ & info,
949
+ msg. as_bytes ( ) ,
950
+ )
951
+ . unwrap ( ) ;
943
952
let msgs = res. unwrap ( ) . messages ;
944
953
assert_eq ! ( msgs. len( ) , 0 ) ;
945
954
}
@@ -955,10 +964,17 @@ mod tests {
955
964
assert_eq ! ( cache. stats( ) . misses, 0 ) ;
956
965
957
966
// instantiate
958
- let info = mock_info ( "creator" , & coins ( 1000 , "earth" ) ) ;
959
- let msg = br#"{"verifier": "verifies", "beneficiary": "benefits"}"# ;
960
- let res =
961
- call_instantiate :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg) . unwrap ( ) ;
967
+ let info = mock_info ( & instance. api ( ) . addr_make ( "creator" ) , & coins ( 1000 , "earth" ) ) ;
968
+ let verifier = instance. api ( ) . addr_make ( "verifies" ) ;
969
+ let beneficiary = instance. api ( ) . addr_make ( "benefits" ) ;
970
+ let msg = format ! ( r#"{{"verifier": "{verifier}", "beneficiary": "{beneficiary}"}}"# ) ;
971
+ let res = call_instantiate :: < _ , _ , _ , Empty > (
972
+ & mut instance,
973
+ & mock_env ( ) ,
974
+ & info,
975
+ msg. as_bytes ( ) ,
976
+ )
977
+ . unwrap ( ) ;
962
978
let msgs = res. unwrap ( ) . messages ;
963
979
assert_eq ! ( msgs. len( ) , 0 ) ;
964
980
}
@@ -976,10 +992,17 @@ mod tests {
976
992
assert_eq ! ( cache. stats( ) . misses, 0 ) ;
977
993
978
994
// instantiate
979
- let info = mock_info ( "creator" , & coins ( 1000 , "earth" ) ) ;
980
- let msg = br#"{"verifier": "verifies", "beneficiary": "benefits"}"# ;
981
- let res =
982
- call_instantiate :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg) . unwrap ( ) ;
995
+ let info = mock_info ( & instance. api ( ) . addr_make ( "creator" ) , & coins ( 1000 , "earth" ) ) ;
996
+ let verifier = instance. api ( ) . addr_make ( "verifies" ) ;
997
+ let beneficiary = instance. api ( ) . addr_make ( "benefits" ) ;
998
+ let msg = format ! ( r#"{{"verifier": "{verifier}", "beneficiary": "{beneficiary}"}}"# ) ;
999
+ let res = call_instantiate :: < _ , _ , _ , Empty > (
1000
+ & mut instance,
1001
+ & mock_env ( ) ,
1002
+ & info,
1003
+ msg. as_bytes ( ) ,
1004
+ )
1005
+ . unwrap ( ) ;
983
1006
let msgs = res. unwrap ( ) . messages ;
984
1007
assert_eq ! ( msgs. len( ) , 0 ) ;
985
1008
}
@@ -1001,16 +1024,22 @@ mod tests {
1001
1024
assert_eq ! ( cache. stats( ) . misses, 0 ) ;
1002
1025
1003
1026
// instantiate
1004
- let info = mock_info ( "creator" , & coins ( 1000 , "earth" ) ) ;
1005
- let msg = br#"{"verifier": "verifies", "beneficiary": "benefits"}"# ;
1006
- let response =
1007
- call_instantiate :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg)
1008
- . unwrap ( )
1009
- . unwrap ( ) ;
1027
+ let info = mock_info ( & instance. api ( ) . addr_make ( "creator" ) , & coins ( 1000 , "earth" ) ) ;
1028
+ let verifier = instance. api ( ) . addr_make ( "verifies" ) ;
1029
+ let beneficiary = instance. api ( ) . addr_make ( "benefits" ) ;
1030
+ let msg = format ! ( r#"{{"verifier": "{verifier}", "beneficiary": "{beneficiary}"}}"# ) ;
1031
+ let response = call_instantiate :: < _ , _ , _ , Empty > (
1032
+ & mut instance,
1033
+ & mock_env ( ) ,
1034
+ & info,
1035
+ msg. as_bytes ( ) ,
1036
+ )
1037
+ . unwrap ( )
1038
+ . unwrap ( ) ;
1010
1039
assert_eq ! ( response. messages. len( ) , 0 ) ;
1011
1040
1012
1041
// execute
1013
- let info = mock_info ( "verifies" , & coins ( 15 , "earth" ) ) ;
1042
+ let info = mock_info ( & verifier , & coins ( 15 , "earth" ) ) ;
1014
1043
let msg = br#"{"release":{}}"# ;
1015
1044
let response = call_execute :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg)
1016
1045
. unwrap ( )
@@ -1029,16 +1058,22 @@ mod tests {
1029
1058
assert_eq ! ( cache. stats( ) . misses, 0 ) ;
1030
1059
1031
1060
// instantiate
1032
- let info = mock_info ( "creator" , & coins ( 1000 , "earth" ) ) ;
1033
- let msg = br#"{"verifier": "verifies", "beneficiary": "benefits"}"# ;
1034
- let response =
1035
- call_instantiate :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg)
1036
- . unwrap ( )
1037
- . unwrap ( ) ;
1061
+ let info = mock_info ( & instance. api ( ) . addr_make ( "creator" ) , & coins ( 1000 , "earth" ) ) ;
1062
+ let verifier = instance. api ( ) . addr_make ( "verifies" ) ;
1063
+ let beneficiary = instance. api ( ) . addr_make ( "benefits" ) ;
1064
+ let msg = format ! ( r#"{{"verifier": "{verifier}", "beneficiary": "{beneficiary}"}}"# ) ;
1065
+ let response = call_instantiate :: < _ , _ , _ , Empty > (
1066
+ & mut instance,
1067
+ & mock_env ( ) ,
1068
+ & info,
1069
+ msg. as_bytes ( ) ,
1070
+ )
1071
+ . unwrap ( )
1072
+ . unwrap ( ) ;
1038
1073
assert_eq ! ( response. messages. len( ) , 0 ) ;
1039
1074
1040
1075
// execute
1041
- let info = mock_info ( "verifies" , & coins ( 15 , "earth" ) ) ;
1076
+ let info = mock_info ( & verifier , & coins ( 15 , "earth" ) ) ;
1042
1077
let msg = br#"{"release":{}}"# ;
1043
1078
let response = call_execute :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg)
1044
1079
. unwrap ( )
@@ -1059,16 +1094,22 @@ mod tests {
1059
1094
assert_eq ! ( cache. stats( ) . misses, 0 ) ;
1060
1095
1061
1096
// instantiate
1062
- let info = mock_info ( "creator" , & coins ( 1000 , "earth" ) ) ;
1063
- let msg = br#"{"verifier": "verifies", "beneficiary": "benefits"}"# ;
1064
- let response =
1065
- call_instantiate :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg)
1066
- . unwrap ( )
1067
- . unwrap ( ) ;
1097
+ let info = mock_info ( & instance. api ( ) . addr_make ( "creator" ) , & coins ( 1000 , "earth" ) ) ;
1098
+ let verifier = instance. api ( ) . addr_make ( "verifies" ) ;
1099
+ let beneficiary = instance. api ( ) . addr_make ( "benefits" ) ;
1100
+ let msg = format ! ( r#"{{"verifier": "{verifier}", "beneficiary": "{beneficiary}"}}"# ) ;
1101
+ let response = call_instantiate :: < _ , _ , _ , Empty > (
1102
+ & mut instance,
1103
+ & mock_env ( ) ,
1104
+ & info,
1105
+ msg. as_bytes ( ) ,
1106
+ )
1107
+ . unwrap ( )
1108
+ . unwrap ( ) ;
1068
1109
assert_eq ! ( response. messages. len( ) , 0 ) ;
1069
1110
1070
1111
// execute
1071
- let info = mock_info ( "verifies" , & coins ( 15 , "earth" ) ) ;
1112
+ let info = mock_info ( & verifier , & coins ( 15 , "earth" ) ) ;
1072
1113
let msg = br#"{"release":{}}"# ;
1073
1114
let response = call_execute :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg)
1074
1115
. unwrap ( )
@@ -1112,9 +1153,12 @@ mod tests {
1112
1153
. get_instance ( & checksum, backend1, TESTING_OPTIONS )
1113
1154
. unwrap ( ) ;
1114
1155
let info = mock_info ( "owner1" , & coins ( 1000 , "earth" ) ) ;
1115
- let msg = br#"{"verifier": "sue", "beneficiary": "mary"}"# ;
1156
+ let sue = instance. api ( ) . addr_make ( "sue" ) ;
1157
+ let mary = instance. api ( ) . addr_make ( "mary" ) ;
1158
+ let msg = format ! ( r#"{{"verifier": "{sue}", "beneficiary": "{mary}"}}"# ) ;
1116
1159
let res =
1117
- call_instantiate :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg) . unwrap ( ) ;
1160
+ call_instantiate :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg. as_bytes ( ) )
1161
+ . unwrap ( ) ;
1118
1162
let msgs = res. unwrap ( ) . messages ;
1119
1163
assert_eq ! ( msgs. len( ) , 0 ) ;
1120
1164
let backend1 = instance. recycle ( ) . unwrap ( ) ;
@@ -1124,9 +1168,12 @@ mod tests {
1124
1168
. get_instance ( & checksum, backend2, TESTING_OPTIONS )
1125
1169
. unwrap ( ) ;
1126
1170
let info = mock_info ( "owner2" , & coins ( 500 , "earth" ) ) ;
1127
- let msg = br#"{"verifier": "bob", "beneficiary": "john"}"# ;
1171
+ let bob = instance. api ( ) . addr_make ( "bob" ) ;
1172
+ let john = instance. api ( ) . addr_make ( "john" ) ;
1173
+ let msg = format ! ( r#"{{"verifier": "{bob}", "beneficiary": "{john}"}}"# ) ;
1128
1174
let res =
1129
- call_instantiate :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg) . unwrap ( ) ;
1175
+ call_instantiate :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg. as_bytes ( ) )
1176
+ . unwrap ( ) ;
1130
1177
let msgs = res. unwrap ( ) . messages ;
1131
1178
assert_eq ! ( msgs. len( ) , 0 ) ;
1132
1179
let backend2 = instance. recycle ( ) . unwrap ( ) ;
@@ -1135,7 +1182,7 @@ mod tests {
1135
1182
let mut instance = cache
1136
1183
. get_instance ( & checksum, backend2, TESTING_OPTIONS )
1137
1184
. unwrap ( ) ;
1138
- let info = mock_info ( " bob" , & coins ( 15 , "earth" ) ) ;
1185
+ let info = mock_info ( & bob, & coins ( 15 , "earth" ) ) ;
1139
1186
let msg = br#"{"release":{}}"# ;
1140
1187
let res = call_execute :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg) . unwrap ( ) ;
1141
1188
let msgs = res. unwrap ( ) . messages ;
@@ -1145,7 +1192,7 @@ mod tests {
1145
1192
let mut instance = cache
1146
1193
. get_instance ( & checksum, backend1, TESTING_OPTIONS )
1147
1194
. unwrap ( ) ;
1148
- let info = mock_info ( " sue" , & coins ( 15 , "earth" ) ) ;
1195
+ let info = mock_info ( & sue, & coins ( 15 , "earth" ) ) ;
1149
1196
let msg = br#"{"release":{}}"# ;
1150
1197
let res = call_execute :: < _ , _ , _ , Empty > ( & mut instance, & mock_env ( ) , & info, msg) . unwrap ( ) ;
1151
1198
let msgs = res. unwrap ( ) . messages ;
@@ -1172,8 +1219,10 @@ mod tests {
1172
1219
1173
1220
// Consume some gas
1174
1221
let info = mock_info ( "owner1" , & coins ( 1000 , "earth" ) ) ;
1175
- let msg = br#"{"verifier": "sue", "beneficiary": "mary"}"# ;
1176
- call_instantiate :: < _ , _ , _ , Empty > ( & mut instance1, & mock_env ( ) , & info, msg)
1222
+ let sue = instance1. api ( ) . addr_make ( "sue" ) ;
1223
+ let mary = instance1. api ( ) . addr_make ( "mary" ) ;
1224
+ let msg = format ! ( r#"{{"verifier": "{sue}", "beneficiary": "{mary}"}}"# ) ;
1225
+ call_instantiate :: < _ , _ , _ , Empty > ( & mut instance1, & mock_env ( ) , & info, msg. as_bytes ( ) )
1177
1226
. unwrap ( )
1178
1227
. unwrap ( ) ;
1179
1228
assert ! ( instance1. get_gas_left( ) < original_gas) ;
@@ -1205,9 +1254,17 @@ mod tests {
1205
1254
1206
1255
// Consume some gas. This fails
1207
1256
let info1 = mock_info ( "owner1" , & coins ( 1000 , "earth" ) ) ;
1208
- let msg1 = br#"{"verifier": "sue", "beneficiary": "mary"}"# ;
1209
- match call_instantiate :: < _ , _ , _ , Empty > ( & mut instance1, & mock_env ( ) , & info1, msg1)
1210
- . unwrap_err ( )
1257
+ let sue = instance1. api ( ) . addr_make ( "sue" ) ;
1258
+ let mary = instance1. api ( ) . addr_make ( "mary" ) ;
1259
+ let msg1 = format ! ( r#"{{"verifier": "{sue}", "beneficiary": "{mary}"}}"# ) ;
1260
+
1261
+ match call_instantiate :: < _ , _ , _ , Empty > (
1262
+ & mut instance1,
1263
+ & mock_env ( ) ,
1264
+ & info1,
1265
+ msg1. as_bytes ( ) ,
1266
+ )
1267
+ . unwrap_err ( )
1211
1268
{
1212
1269
VmError :: GasDepletion { .. } => ( ) , // all good, continue
1213
1270
e => panic ! ( "unexpected error, {e:?}" ) ,
@@ -1227,8 +1284,10 @@ mod tests {
1227
1284
1228
1285
// Now it works
1229
1286
let info2 = mock_info ( "owner2" , & coins ( 500 , "earth" ) ) ;
1230
- let msg2 = br#"{"verifier": "bob", "beneficiary": "john"}"# ;
1231
- call_instantiate :: < _ , _ , _ , Empty > ( & mut instance2, & mock_env ( ) , & info2, msg2)
1287
+ let bob = instance2. api ( ) . addr_make ( "bob" ) ;
1288
+ let john = instance2. api ( ) . addr_make ( "john" ) ;
1289
+ let msg2 = format ! ( r#"{{"verifier": "{bob}", "beneficiary": "{john}"}}"# ) ;
1290
+ call_instantiate :: < _ , _ , _ , Empty > ( & mut instance2, & mock_env ( ) , & info2, msg2. as_bytes ( ) )
1232
1291
. unwrap ( )
1233
1292
. unwrap ( ) ;
1234
1293
}
0 commit comments