Skip to content

Commit 50b2cb1

Browse files
feat(api): api update
1 parent 0273d50 commit 50b2cb1

14 files changed

+346
-4
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 126
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-90b631890d57a96df99cc973fedfb48e6278b025dcb6262519eb064044d47efe.yml
3-
openapi_spec_hash: b17b00ef11d479516d6f1e5a323aef28
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-c92fb451e13f157b3735f188acc8d57aa3adfbaac1683645e1ba4f432dd7a4f8.yml
3+
openapi_spec_hash: dbcd87ecfbd3976eb3b99ec6f9fbc606
44
config_hash: bcf82bddb691f6be773ac6cae8c03b9a

src/Orb.Tests/Models/CreditBlocks/CreditBlockRetrieveResponseTest.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public void FieldRoundtrip_Works()
2828
},
2929
],
3030
MaximumInitialBalance = 0,
31+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
3132
PerUnitCostBasis = "per_unit_cost_basis",
3233
Status = Status.Active,
3334
};
@@ -46,6 +47,7 @@ public void FieldRoundtrip_Works()
4647
},
4748
];
4849
double expectedMaximumInitialBalance = 0;
50+
Dictionary<string, string> expectedMetadata = new() { { "foo", "string" } };
4951
string expectedPerUnitCostBasis = "per_unit_cost_basis";
5052
ApiEnum<string, Status> expectedStatus = Status.Active;
5153

@@ -59,6 +61,13 @@ public void FieldRoundtrip_Works()
5961
Assert.Equal(expectedFilters[i], model.Filters[i]);
6062
}
6163
Assert.Equal(expectedMaximumInitialBalance, model.MaximumInitialBalance);
64+
Assert.Equal(expectedMetadata.Count, model.Metadata.Count);
65+
foreach (var item in expectedMetadata)
66+
{
67+
Assert.True(model.Metadata.TryGetValue(item.Key, out var value));
68+
69+
Assert.Equal(value, model.Metadata[item.Key]);
70+
}
6271
Assert.Equal(expectedPerUnitCostBasis, model.PerUnitCostBasis);
6372
Assert.Equal(expectedStatus, model.Status);
6473
}
@@ -82,6 +91,7 @@ public void SerializationRoundtrip_Works()
8291
},
8392
],
8493
MaximumInitialBalance = 0,
94+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
8595
PerUnitCostBasis = "per_unit_cost_basis",
8696
Status = Status.Active,
8797
};
@@ -114,6 +124,7 @@ public void FieldRoundtripThroughSerialization_Works()
114124
},
115125
],
116126
MaximumInitialBalance = 0,
127+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
117128
PerUnitCostBasis = "per_unit_cost_basis",
118129
Status = Status.Active,
119130
};
@@ -139,6 +150,7 @@ public void FieldRoundtripThroughSerialization_Works()
139150
},
140151
];
141152
double expectedMaximumInitialBalance = 0;
153+
Dictionary<string, string> expectedMetadata = new() { { "foo", "string" } };
142154
string expectedPerUnitCostBasis = "per_unit_cost_basis";
143155
ApiEnum<string, Status> expectedStatus = Status.Active;
144156

@@ -152,6 +164,13 @@ public void FieldRoundtripThroughSerialization_Works()
152164
Assert.Equal(expectedFilters[i], deserialized.Filters[i]);
153165
}
154166
Assert.Equal(expectedMaximumInitialBalance, deserialized.MaximumInitialBalance);
167+
Assert.Equal(expectedMetadata.Count, deserialized.Metadata.Count);
168+
foreach (var item in expectedMetadata)
169+
{
170+
Assert.True(deserialized.Metadata.TryGetValue(item.Key, out var value));
171+
172+
Assert.Equal(value, deserialized.Metadata[item.Key]);
173+
}
155174
Assert.Equal(expectedPerUnitCostBasis, deserialized.PerUnitCostBasis);
156175
Assert.Equal(expectedStatus, deserialized.Status);
157176
}
@@ -175,6 +194,7 @@ public void Validation_Works()
175194
},
176195
],
177196
MaximumInitialBalance = 0,
197+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
178198
PerUnitCostBasis = "per_unit_cost_basis",
179199
Status = Status.Active,
180200
};
@@ -201,6 +221,7 @@ public void CopyConstructor_Works()
201221
},
202222
],
203223
MaximumInitialBalance = 0,
224+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
204225
PerUnitCostBasis = "per_unit_cost_basis",
205226
Status = Status.Active,
206227
};

src/Orb.Tests/Models/Customers/Credits/CreditListByExternalIDPageResponseTest.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public void FieldRoundtrip_Works()
3232
},
3333
],
3434
MaximumInitialBalance = 0,
35+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
3536
PerUnitCostBasis = "per_unit_cost_basis",
3637
Status = CreditListByExternalIDResponseStatus.Active,
3738
},
@@ -57,6 +58,7 @@ public void FieldRoundtrip_Works()
5758
},
5859
],
5960
MaximumInitialBalance = 0,
61+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
6062
PerUnitCostBasis = "per_unit_cost_basis",
6163
Status = CreditListByExternalIDResponseStatus.Active,
6264
},
@@ -98,6 +100,7 @@ public void SerializationRoundtrip_Works()
98100
},
99101
],
100102
MaximumInitialBalance = 0,
103+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
101104
PerUnitCostBasis = "per_unit_cost_basis",
102105
Status = CreditListByExternalIDResponseStatus.Active,
103106
},
@@ -137,6 +140,7 @@ public void FieldRoundtripThroughSerialization_Works()
137140
},
138141
],
139142
MaximumInitialBalance = 0,
143+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
140144
PerUnitCostBasis = "per_unit_cost_basis",
141145
Status = CreditListByExternalIDResponseStatus.Active,
142146
},
@@ -169,6 +173,7 @@ public void FieldRoundtripThroughSerialization_Works()
169173
},
170174
],
171175
MaximumInitialBalance = 0,
176+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
172177
PerUnitCostBasis = "per_unit_cost_basis",
173178
Status = CreditListByExternalIDResponseStatus.Active,
174179
},
@@ -210,6 +215,7 @@ public void Validation_Works()
210215
},
211216
],
212217
MaximumInitialBalance = 0,
218+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
213219
PerUnitCostBasis = "per_unit_cost_basis",
214220
Status = CreditListByExternalIDResponseStatus.Active,
215221
},
@@ -243,6 +249,7 @@ public void CopyConstructor_Works()
243249
},
244250
],
245251
MaximumInitialBalance = 0,
252+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
246253
PerUnitCostBasis = "per_unit_cost_basis",
247254
Status = CreditListByExternalIDResponseStatus.Active,
248255
},

src/Orb.Tests/Models/Customers/Credits/CreditListByExternalIDParamsTest.cs

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,31 @@ public void FieldRoundtrip_Works()
1313
ExternalCustomerID = "external_customer_id",
1414
Currency = "currency",
1515
Cursor = "cursor",
16+
EffectiveDateGt = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
17+
EffectiveDateGte = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
18+
EffectiveDateLt = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
19+
EffectiveDateLte = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
1620
IncludeAllBlocks = true,
1721
Limit = 1,
1822
};
1923

2024
string expectedExternalCustomerID = "external_customer_id";
2125
string expectedCurrency = "currency";
2226
string expectedCursor = "cursor";
27+
DateTimeOffset expectedEffectiveDateGt = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z");
28+
DateTimeOffset expectedEffectiveDateGte = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z");
29+
DateTimeOffset expectedEffectiveDateLt = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z");
30+
DateTimeOffset expectedEffectiveDateLte = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z");
2331
bool expectedIncludeAllBlocks = true;
2432
long expectedLimit = 1;
2533

2634
Assert.Equal(expectedExternalCustomerID, parameters.ExternalCustomerID);
2735
Assert.Equal(expectedCurrency, parameters.Currency);
2836
Assert.Equal(expectedCursor, parameters.Cursor);
37+
Assert.Equal(expectedEffectiveDateGt, parameters.EffectiveDateGt);
38+
Assert.Equal(expectedEffectiveDateGte, parameters.EffectiveDateGte);
39+
Assert.Equal(expectedEffectiveDateLt, parameters.EffectiveDateLt);
40+
Assert.Equal(expectedEffectiveDateLte, parameters.EffectiveDateLte);
2941
Assert.Equal(expectedIncludeAllBlocks, parameters.IncludeAllBlocks);
3042
Assert.Equal(expectedLimit, parameters.Limit);
3143
}
@@ -38,6 +50,10 @@ public void OptionalNonNullableParamsUnsetAreNotSet_Works()
3850
ExternalCustomerID = "external_customer_id",
3951
Currency = "currency",
4052
Cursor = "cursor",
53+
EffectiveDateGt = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
54+
EffectiveDateGte = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
55+
EffectiveDateLt = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
56+
EffectiveDateLte = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
4157
};
4258

4359
Assert.Null(parameters.IncludeAllBlocks);
@@ -54,6 +70,10 @@ public void OptionalNonNullableParamsSetToNullAreNotSet_Works()
5470
ExternalCustomerID = "external_customer_id",
5571
Currency = "currency",
5672
Cursor = "cursor",
73+
EffectiveDateGt = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
74+
EffectiveDateGte = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
75+
EffectiveDateLt = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
76+
EffectiveDateLte = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
5777

5878
// Null should be interpreted as omitted for these properties
5979
IncludeAllBlocks = null,
@@ -80,6 +100,14 @@ public void OptionalNullableParamsUnsetAreNotSet_Works()
80100
Assert.False(parameters.RawQueryData.ContainsKey("currency"));
81101
Assert.Null(parameters.Cursor);
82102
Assert.False(parameters.RawQueryData.ContainsKey("cursor"));
103+
Assert.Null(parameters.EffectiveDateGt);
104+
Assert.False(parameters.RawQueryData.ContainsKey("effective_date[gt]"));
105+
Assert.Null(parameters.EffectiveDateGte);
106+
Assert.False(parameters.RawQueryData.ContainsKey("effective_date[gte]"));
107+
Assert.Null(parameters.EffectiveDateLt);
108+
Assert.False(parameters.RawQueryData.ContainsKey("effective_date[lt]"));
109+
Assert.Null(parameters.EffectiveDateLte);
110+
Assert.False(parameters.RawQueryData.ContainsKey("effective_date[lte]"));
83111
}
84112

85113
[Fact]
@@ -93,12 +121,24 @@ public void OptionalNullableParamsSetToNullAreSetToNull_Works()
93121

94122
Currency = null,
95123
Cursor = null,
124+
EffectiveDateGt = null,
125+
EffectiveDateGte = null,
126+
EffectiveDateLt = null,
127+
EffectiveDateLte = null,
96128
};
97129

98130
Assert.Null(parameters.Currency);
99131
Assert.True(parameters.RawQueryData.ContainsKey("currency"));
100132
Assert.Null(parameters.Cursor);
101133
Assert.True(parameters.RawQueryData.ContainsKey("cursor"));
134+
Assert.Null(parameters.EffectiveDateGt);
135+
Assert.True(parameters.RawQueryData.ContainsKey("effective_date[gt]"));
136+
Assert.Null(parameters.EffectiveDateGte);
137+
Assert.True(parameters.RawQueryData.ContainsKey("effective_date[gte]"));
138+
Assert.Null(parameters.EffectiveDateLt);
139+
Assert.True(parameters.RawQueryData.ContainsKey("effective_date[lt]"));
140+
Assert.Null(parameters.EffectiveDateLte);
141+
Assert.True(parameters.RawQueryData.ContainsKey("effective_date[lte]"));
102142
}
103143

104144
[Fact]
@@ -109,6 +149,10 @@ public void Url_Works()
109149
ExternalCustomerID = "external_customer_id",
110150
Currency = "currency",
111151
Cursor = "cursor",
152+
EffectiveDateGt = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
153+
EffectiveDateGte = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
154+
EffectiveDateLt = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
155+
EffectiveDateLte = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
112156
IncludeAllBlocks = true,
113157
Limit = 1,
114158
};
@@ -117,7 +161,7 @@ public void Url_Works()
117161

118162
Assert.Equal(
119163
new Uri(
120-
"https://api.withorb.com/v1/customers/external_customer_id/external_customer_id/credits?currency=currency&cursor=cursor&include_all_blocks=true&limit=1"
164+
"https://api.withorb.com/v1/customers/external_customer_id/external_customer_id/credits?currency=currency&cursor=cursor&effective_date%5bgt%5d=2019-12-27T18%3a11%3a19.117%2b00%3a00&effective_date%5bgte%5d=2019-12-27T18%3a11%3a19.117%2b00%3a00&effective_date%5blt%5d=2019-12-27T18%3a11%3a19.117%2b00%3a00&effective_date%5blte%5d=2019-12-27T18%3a11%3a19.117%2b00%3a00&include_all_blocks=true&limit=1"
121165
),
122166
url
123167
);
@@ -131,6 +175,10 @@ public void CopyConstructor_Works()
131175
ExternalCustomerID = "external_customer_id",
132176
Currency = "currency",
133177
Cursor = "cursor",
178+
EffectiveDateGt = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
179+
EffectiveDateGte = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
180+
EffectiveDateLt = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
181+
EffectiveDateLte = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
134182
IncludeAllBlocks = true,
135183
Limit = 1,
136184
};

src/Orb.Tests/Models/Customers/Credits/CreditListByExternalIDResponseTest.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public void FieldRoundtrip_Works()
2828
},
2929
],
3030
MaximumInitialBalance = 0,
31+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
3132
PerUnitCostBasis = "per_unit_cost_basis",
3233
Status = CreditListByExternalIDResponseStatus.Active,
3334
};
@@ -46,6 +47,7 @@ public void FieldRoundtrip_Works()
4647
},
4748
];
4849
double expectedMaximumInitialBalance = 0;
50+
Dictionary<string, string> expectedMetadata = new() { { "foo", "string" } };
4951
string expectedPerUnitCostBasis = "per_unit_cost_basis";
5052
ApiEnum<string, CreditListByExternalIDResponseStatus> expectedStatus =
5153
CreditListByExternalIDResponseStatus.Active;
@@ -60,6 +62,13 @@ public void FieldRoundtrip_Works()
6062
Assert.Equal(expectedFilters[i], model.Filters[i]);
6163
}
6264
Assert.Equal(expectedMaximumInitialBalance, model.MaximumInitialBalance);
65+
Assert.Equal(expectedMetadata.Count, model.Metadata.Count);
66+
foreach (var item in expectedMetadata)
67+
{
68+
Assert.True(model.Metadata.TryGetValue(item.Key, out var value));
69+
70+
Assert.Equal(value, model.Metadata[item.Key]);
71+
}
6372
Assert.Equal(expectedPerUnitCostBasis, model.PerUnitCostBasis);
6473
Assert.Equal(expectedStatus, model.Status);
6574
}
@@ -83,6 +92,7 @@ public void SerializationRoundtrip_Works()
8392
},
8493
],
8594
MaximumInitialBalance = 0,
95+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
8696
PerUnitCostBasis = "per_unit_cost_basis",
8797
Status = CreditListByExternalIDResponseStatus.Active,
8898
};
@@ -115,6 +125,7 @@ public void FieldRoundtripThroughSerialization_Works()
115125
},
116126
],
117127
MaximumInitialBalance = 0,
128+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
118129
PerUnitCostBasis = "per_unit_cost_basis",
119130
Status = CreditListByExternalIDResponseStatus.Active,
120131
};
@@ -140,6 +151,7 @@ public void FieldRoundtripThroughSerialization_Works()
140151
},
141152
];
142153
double expectedMaximumInitialBalance = 0;
154+
Dictionary<string, string> expectedMetadata = new() { { "foo", "string" } };
143155
string expectedPerUnitCostBasis = "per_unit_cost_basis";
144156
ApiEnum<string, CreditListByExternalIDResponseStatus> expectedStatus =
145157
CreditListByExternalIDResponseStatus.Active;
@@ -154,6 +166,13 @@ public void FieldRoundtripThroughSerialization_Works()
154166
Assert.Equal(expectedFilters[i], deserialized.Filters[i]);
155167
}
156168
Assert.Equal(expectedMaximumInitialBalance, deserialized.MaximumInitialBalance);
169+
Assert.Equal(expectedMetadata.Count, deserialized.Metadata.Count);
170+
foreach (var item in expectedMetadata)
171+
{
172+
Assert.True(deserialized.Metadata.TryGetValue(item.Key, out var value));
173+
174+
Assert.Equal(value, deserialized.Metadata[item.Key]);
175+
}
157176
Assert.Equal(expectedPerUnitCostBasis, deserialized.PerUnitCostBasis);
158177
Assert.Equal(expectedStatus, deserialized.Status);
159178
}
@@ -177,6 +196,7 @@ public void Validation_Works()
177196
},
178197
],
179198
MaximumInitialBalance = 0,
199+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
180200
PerUnitCostBasis = "per_unit_cost_basis",
181201
Status = CreditListByExternalIDResponseStatus.Active,
182202
};
@@ -203,6 +223,7 @@ public void CopyConstructor_Works()
203223
},
204224
],
205225
MaximumInitialBalance = 0,
226+
Metadata = new Dictionary<string, string>() { { "foo", "string" } },
206227
PerUnitCostBasis = "per_unit_cost_basis",
207228
Status = CreditListByExternalIDResponseStatus.Active,
208229
};

0 commit comments

Comments
 (0)