@@ -37,7 +37,7 @@ mod benchmarks {
37
37
use super :: * ;
38
38
39
39
#[ benchmark]
40
- fn create_schema_v3 (
40
+ fn create_schema_v3_with_name (
41
41
m : Linear <
42
42
{ T :: MinSchemaModelSizeBytes :: get ( ) + 8 } ,
43
43
{ T :: SchemaModelMaxBytesBoundedVecLimit :: get ( ) - 1 } ,
@@ -61,7 +61,7 @@ mod benchmarks {
61
61
let schema_input = generate_schema :: < T > ( m as usize ) ;
62
62
63
63
#[ extrinsic_call]
64
- _ (
64
+ create_schema_v3 (
65
65
RawOrigin :: Signed ( sender) ,
66
66
schema_input,
67
67
model_type,
@@ -78,6 +78,40 @@ mod benchmarks {
78
78
Ok ( ( ) )
79
79
}
80
80
81
+ #[ benchmark]
82
+ fn create_schema_v3_without_name (
83
+ m : Linear <
84
+ { T :: MinSchemaModelSizeBytes :: get ( ) + 8 } ,
85
+ { T :: SchemaModelMaxBytesBoundedVecLimit :: get ( ) - 1 } ,
86
+ > ,
87
+ ) -> Result < ( ) , BenchmarkError > {
88
+ let sender: T :: AccountId = whitelisted_caller ( ) ;
89
+ let model_type = ModelType :: AvroBinary ;
90
+ let payload_location = PayloadLocation :: OnChain ;
91
+ assert_ok ! ( SchemasPallet :: <T >:: set_max_schema_model_bytes(
92
+ RawOrigin :: Root . into( ) ,
93
+ T :: SchemaModelMaxBytesBoundedVecLimit :: get( )
94
+ ) ) ;
95
+ let schema_input = generate_schema :: < T > ( m as usize ) ;
96
+
97
+ #[ extrinsic_call]
98
+ create_schema_v3 (
99
+ RawOrigin :: Signed ( sender) ,
100
+ schema_input,
101
+ model_type,
102
+ payload_location,
103
+ BoundedVec :: default ( ) ,
104
+ None ,
105
+ ) ;
106
+
107
+ ensure ! (
108
+ CurrentSchemaIdentifierMaximum :: <T >:: get( ) > 0 ,
109
+ "Created schema count should be > 0"
110
+ ) ;
111
+ ensure ! ( SchemaInfos :: <T >:: get( 1 ) . is_some( ) , "Created schema should exist" ) ;
112
+ Ok ( ( ) )
113
+ }
114
+
81
115
#[ benchmark]
82
116
fn set_max_schema_model_bytes ( ) -> Result < ( ) , BenchmarkError > {
83
117
let sender = RawOrigin :: Root ;
@@ -95,7 +129,7 @@ mod benchmarks {
95
129
}
96
130
97
131
#[ benchmark]
98
- fn create_schema_via_governance_v2 (
132
+ fn create_schema_via_governance_v2_with_name (
99
133
m : Linear <
100
134
{ T :: MinSchemaModelSizeBytes :: get ( ) + 8 } ,
101
135
{ T :: SchemaModelMaxBytesBoundedVecLimit :: get ( ) - 1 } ,
@@ -119,7 +153,7 @@ mod benchmarks {
119
153
let schema_input = generate_schema :: < T > ( m as usize ) ;
120
154
121
155
#[ extrinsic_call]
122
- _ (
156
+ create_schema_via_governance_v2 (
123
157
RawOrigin :: Root ,
124
158
sender. clone ( ) ,
125
159
schema_input,
@@ -138,7 +172,42 @@ mod benchmarks {
138
172
}
139
173
140
174
#[ benchmark]
141
- fn propose_to_create_schema_v2 (
175
+ fn create_schema_via_governance_v2_without_name (
176
+ m : Linear <
177
+ { T :: MinSchemaModelSizeBytes :: get ( ) + 8 } ,
178
+ { T :: SchemaModelMaxBytesBoundedVecLimit :: get ( ) - 1 } ,
179
+ > ,
180
+ ) -> Result < ( ) , BenchmarkError > {
181
+ let sender: T :: AccountId = whitelisted_caller ( ) ;
182
+ let model_type = ModelType :: AvroBinary ;
183
+ let payload_location = PayloadLocation :: OnChain ;
184
+ assert_ok ! ( SchemasPallet :: <T >:: set_max_schema_model_bytes(
185
+ RawOrigin :: Root . into( ) ,
186
+ T :: SchemaModelMaxBytesBoundedVecLimit :: get( )
187
+ ) ) ;
188
+ let schema_input = generate_schema :: < T > ( m as usize ) ;
189
+
190
+ #[ extrinsic_call]
191
+ create_schema_via_governance_v2 (
192
+ RawOrigin :: Root ,
193
+ sender. clone ( ) ,
194
+ schema_input,
195
+ model_type,
196
+ payload_location,
197
+ BoundedVec :: default ( ) ,
198
+ None ,
199
+ ) ;
200
+
201
+ ensure ! (
202
+ CurrentSchemaIdentifierMaximum :: <T >:: get( ) > 0 ,
203
+ "Created schema count should be > 0"
204
+ ) ;
205
+ ensure ! ( SchemaInfos :: <T >:: get( 1 ) . is_some( ) , "Created schema should exist" ) ;
206
+ Ok ( ( ) )
207
+ }
208
+
209
+ #[ benchmark]
210
+ fn propose_to_create_schema_v2_with_name (
142
211
m : Linear <
143
212
{ T :: MinSchemaModelSizeBytes :: get ( ) + 8 } ,
144
213
{ T :: SchemaModelMaxBytesBoundedVecLimit :: get ( ) - 1 } ,
@@ -162,7 +231,7 @@ mod benchmarks {
162
231
let schema_input = generate_schema :: < T > ( m as usize ) ;
163
232
164
233
#[ extrinsic_call]
165
- _ (
234
+ propose_to_create_schema_v2 (
166
235
RawOrigin :: Signed ( sender) ,
167
236
schema_input,
168
237
model_type,
@@ -175,6 +244,36 @@ mod benchmarks {
175
244
Ok ( ( ) )
176
245
}
177
246
247
+ #[ benchmark]
248
+ fn propose_to_create_schema_v2_without_name (
249
+ m : Linear <
250
+ { T :: MinSchemaModelSizeBytes :: get ( ) + 8 } ,
251
+ { T :: SchemaModelMaxBytesBoundedVecLimit :: get ( ) - 1 } ,
252
+ > ,
253
+ ) -> Result < ( ) , BenchmarkError > {
254
+ let sender: T :: AccountId = whitelisted_caller ( ) ;
255
+ let model_type = ModelType :: AvroBinary ;
256
+ let payload_location = PayloadLocation :: OnChain ;
257
+ assert_ok ! ( SchemasPallet :: <T >:: set_max_schema_model_bytes(
258
+ RawOrigin :: Root . into( ) ,
259
+ T :: SchemaModelMaxBytesBoundedVecLimit :: get( )
260
+ ) ) ;
261
+ let schema_input = generate_schema :: < T > ( m as usize ) ;
262
+
263
+ #[ extrinsic_call]
264
+ propose_to_create_schema_v2 (
265
+ RawOrigin :: Signed ( sender) ,
266
+ schema_input,
267
+ model_type,
268
+ payload_location,
269
+ BoundedVec :: default ( ) ,
270
+ None ,
271
+ ) ;
272
+
273
+ assert_eq ! ( T :: ProposalProvider :: proposal_count( ) , 1 ) ;
274
+ Ok ( ( ) )
275
+ }
276
+
178
277
#[ benchmark]
179
278
fn propose_to_create_schema_name ( ) -> Result < ( ) , BenchmarkError > {
180
279
let sender: T :: AccountId = whitelisted_caller ( ) ;
0 commit comments