added realm to jspg processing
This commit is contained in:
@ -64,12 +64,6 @@ impl Case {
|
||||
let validator = Validator::new(db);
|
||||
|
||||
let schema_id = &self.schema_id;
|
||||
if !validator.db.schemas.contains_key(schema_id) {
|
||||
return Err(format!(
|
||||
"Missing Schema: Cannot find schema ID '{}'",
|
||||
schema_id
|
||||
));
|
||||
}
|
||||
|
||||
let test_data = self.data.clone().unwrap_or(Value::Null);
|
||||
let result = validator.validate(schema_id, &test_data);
|
||||
|
||||
@ -5,7 +5,16 @@ impl Expect {
|
||||
pub fn assert_schemas(&self, db: &Arc<crate::database::Database>) -> Result<(), String> {
|
||||
if let Some(expected_map) = &self.schemas {
|
||||
// Collect actual schemas and sort
|
||||
let mut actual: Vec<String> = db.schemas.keys().cloned().collect();
|
||||
let mut actual: Vec<String> = Vec::new();
|
||||
for type_def in db.types.values() {
|
||||
actual.extend(type_def.schemas.keys().cloned());
|
||||
}
|
||||
for punc_def in db.puncs.values() {
|
||||
actual.extend(punc_def.schemas.keys().cloned());
|
||||
}
|
||||
for enum_def in db.enums.values() {
|
||||
actual.extend(enum_def.schemas.keys().cloned());
|
||||
}
|
||||
actual.sort();
|
||||
|
||||
// Collect expected schemas and sort
|
||||
@ -26,7 +35,12 @@ impl Expect {
|
||||
if expected_val.is_object() && expected_val.as_object().unwrap().is_empty() {
|
||||
continue; // A `{}` means we just wanted to test it was collected/promoted, skip deep match
|
||||
}
|
||||
let actual_ast = db.schemas.get(key).unwrap();
|
||||
let schema_realm = if key.ends_with(".request") || key.ends_with(".response") {
|
||||
crate::database::realm::SchemaRealm::Punc
|
||||
} else {
|
||||
crate::database::realm::SchemaRealm::Type
|
||||
};
|
||||
let actual_ast = db.get_scoped_schema(schema_realm, key).unwrap();
|
||||
let actual_val = serde_json::to_value(actual_ast).unwrap();
|
||||
|
||||
if actual_val != *expected_val {
|
||||
|
||||
Reference in New Issue
Block a user