Skip to content

Commit 797b2dc

Browse files
authored
fix: Fix few nova response schemas (#1175)
- keypair create response does not contain ID - server create response has a response_key (server). This is not really true, since creation may return reservation_id, but this is not typical and we can try to find a solution for that later. For now make sure cli server creation works. Change-Id: I3f52f0e6686767dcc8862543c4c3a155f42ead0e Changes are triggered by https://review.opendev.org/948063
1 parent 69879f2 commit 797b2dc

File tree

21 files changed

+333
-343
lines changed

21 files changed

+333
-343
lines changed

openstack_sdk/src/api/compute/v2/server/create_20.rs

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -781,7 +781,7 @@ impl RestEndpoint for Request<'_> {
781781
}
782782

783783
fn response_key(&self) -> Option<Cow<'static, str>> {
784-
None
784+
Some("server".into())
785785
}
786786

787787
/// Returns headers to be set into the request
@@ -826,18 +826,21 @@ mod tests {
826826

827827
#[test]
828828
fn test_response_key() {
829-
assert!(Request::builder()
830-
.server(
831-
ServerBuilder::default()
832-
.flavor_ref("foo")
833-
.name("foo")
834-
.build()
835-
.unwrap()
836-
)
837-
.build()
838-
.unwrap()
839-
.response_key()
840-
.is_none())
829+
assert_eq!(
830+
Request::builder()
831+
.server(
832+
ServerBuilder::default()
833+
.flavor_ref("foo")
834+
.name("foo")
835+
.build()
836+
.unwrap()
837+
)
838+
.build()
839+
.unwrap()
840+
.response_key()
841+
.unwrap(),
842+
"server"
843+
);
841844
}
842845

843846
#[cfg(feature = "sync")]
@@ -851,7 +854,7 @@ mod tests {
851854

852855
then.status(200)
853856
.header("content-type", "application/json")
854-
.json_body(json!({ "dummy": {} }));
857+
.json_body(json!({ "server": {} }));
855858
});
856859

857860
let endpoint = Request::builder()
@@ -880,7 +883,7 @@ mod tests {
880883
.header("not_foo", "not_bar");
881884
then.status(200)
882885
.header("content-type", "application/json")
883-
.json_body(json!({ "dummy": {} }));
886+
.json_body(json!({ "server": {} }));
884887
});
885888

886889
let endpoint = Request::builder()

openstack_sdk/src/api/compute/v2/server/create_21.rs

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -769,7 +769,7 @@ impl RestEndpoint for Request<'_> {
769769
}
770770

771771
fn response_key(&self) -> Option<Cow<'static, str>> {
772-
None
772+
Some("server".into())
773773
}
774774

775775
/// Returns headers to be set into the request
@@ -814,18 +814,21 @@ mod tests {
814814

815815
#[test]
816816
fn test_response_key() {
817-
assert!(Request::builder()
818-
.server(
819-
ServerBuilder::default()
820-
.flavor_ref("foo")
821-
.name("foo")
822-
.build()
823-
.unwrap()
824-
)
825-
.build()
826-
.unwrap()
827-
.response_key()
828-
.is_none())
817+
assert_eq!(
818+
Request::builder()
819+
.server(
820+
ServerBuilder::default()
821+
.flavor_ref("foo")
822+
.name("foo")
823+
.build()
824+
.unwrap()
825+
)
826+
.build()
827+
.unwrap()
828+
.response_key()
829+
.unwrap(),
830+
"server"
831+
);
829832
}
830833

831834
#[cfg(feature = "sync")]
@@ -839,7 +842,7 @@ mod tests {
839842

840843
then.status(200)
841844
.header("content-type", "application/json")
842-
.json_body(json!({ "dummy": {} }));
845+
.json_body(json!({ "server": {} }));
843846
});
844847

845848
let endpoint = Request::builder()
@@ -868,7 +871,7 @@ mod tests {
868871
.header("not_foo", "not_bar");
869872
then.status(200)
870873
.header("content-type", "application/json")
871-
.json_body(json!({ "dummy": {} }));
874+
.json_body(json!({ "server": {} }));
872875
});
873876

874877
let endpoint = Request::builder()

openstack_sdk/src/api/compute/v2/server/create_219.rs

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -777,7 +777,7 @@ impl RestEndpoint for Request<'_> {
777777
}
778778

779779
fn response_key(&self) -> Option<Cow<'static, str>> {
780-
None
780+
Some("server".into())
781781
}
782782

783783
/// Returns headers to be set into the request
@@ -822,18 +822,21 @@ mod tests {
822822

823823
#[test]
824824
fn test_response_key() {
825-
assert!(Request::builder()
826-
.server(
827-
ServerBuilder::default()
828-
.flavor_ref("foo")
829-
.name("foo")
830-
.build()
831-
.unwrap()
832-
)
833-
.build()
834-
.unwrap()
835-
.response_key()
836-
.is_none())
825+
assert_eq!(
826+
Request::builder()
827+
.server(
828+
ServerBuilder::default()
829+
.flavor_ref("foo")
830+
.name("foo")
831+
.build()
832+
.unwrap()
833+
)
834+
.build()
835+
.unwrap()
836+
.response_key()
837+
.unwrap(),
838+
"server"
839+
);
837840
}
838841

839842
#[cfg(feature = "sync")]
@@ -847,7 +850,7 @@ mod tests {
847850

848851
then.status(200)
849852
.header("content-type", "application/json")
850-
.json_body(json!({ "dummy": {} }));
853+
.json_body(json!({ "server": {} }));
851854
});
852855

853856
let endpoint = Request::builder()
@@ -876,7 +879,7 @@ mod tests {
876879
.header("not_foo", "not_bar");
877880
then.status(200)
878881
.header("content-type", "application/json")
879-
.json_body(json!({ "dummy": {} }));
882+
.json_body(json!({ "server": {} }));
880883
});
881884

882885
let endpoint = Request::builder()

openstack_sdk/src/api/compute/v2/server/create_232.rs

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -785,7 +785,7 @@ impl RestEndpoint for Request<'_> {
785785
}
786786

787787
fn response_key(&self) -> Option<Cow<'static, str>> {
788-
None
788+
Some("server".into())
789789
}
790790

791791
/// Returns headers to be set into the request
@@ -830,18 +830,21 @@ mod tests {
830830

831831
#[test]
832832
fn test_response_key() {
833-
assert!(Request::builder()
834-
.server(
835-
ServerBuilder::default()
836-
.flavor_ref("foo")
837-
.name("foo")
838-
.build()
839-
.unwrap()
840-
)
841-
.build()
842-
.unwrap()
843-
.response_key()
844-
.is_none())
833+
assert_eq!(
834+
Request::builder()
835+
.server(
836+
ServerBuilder::default()
837+
.flavor_ref("foo")
838+
.name("foo")
839+
.build()
840+
.unwrap()
841+
)
842+
.build()
843+
.unwrap()
844+
.response_key()
845+
.unwrap(),
846+
"server"
847+
);
845848
}
846849

847850
#[cfg(feature = "sync")]
@@ -855,7 +858,7 @@ mod tests {
855858

856859
then.status(200)
857860
.header("content-type", "application/json")
858-
.json_body(json!({ "dummy": {} }));
861+
.json_body(json!({ "server": {} }));
859862
});
860863

861864
let endpoint = Request::builder()
@@ -884,7 +887,7 @@ mod tests {
884887
.header("not_foo", "not_bar");
885888
then.status(200)
886889
.header("content-type", "application/json")
887-
.json_body(json!({ "dummy": {} }));
890+
.json_body(json!({ "server": {} }));
888891
});
889892

890893
let endpoint = Request::builder()

openstack_sdk/src/api/compute/v2/server/create_233.rs

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -781,7 +781,7 @@ impl RestEndpoint for Request<'_> {
781781
}
782782

783783
fn response_key(&self) -> Option<Cow<'static, str>> {
784-
None
784+
Some("server".into())
785785
}
786786

787787
/// Returns headers to be set into the request
@@ -826,18 +826,21 @@ mod tests {
826826

827827
#[test]
828828
fn test_response_key() {
829-
assert!(Request::builder()
830-
.server(
831-
ServerBuilder::default()
832-
.flavor_ref("foo")
833-
.name("foo")
834-
.build()
835-
.unwrap()
836-
)
837-
.build()
838-
.unwrap()
839-
.response_key()
840-
.is_none())
829+
assert_eq!(
830+
Request::builder()
831+
.server(
832+
ServerBuilder::default()
833+
.flavor_ref("foo")
834+
.name("foo")
835+
.build()
836+
.unwrap()
837+
)
838+
.build()
839+
.unwrap()
840+
.response_key()
841+
.unwrap(),
842+
"server"
843+
);
841844
}
842845

843846
#[cfg(feature = "sync")]
@@ -851,7 +854,7 @@ mod tests {
851854

852855
then.status(200)
853856
.header("content-type", "application/json")
854-
.json_body(json!({ "dummy": {} }));
857+
.json_body(json!({ "server": {} }));
855858
});
856859

857860
let endpoint = Request::builder()
@@ -880,7 +883,7 @@ mod tests {
880883
.header("not_foo", "not_bar");
881884
then.status(200)
882885
.header("content-type", "application/json")
883-
.json_body(json!({ "dummy": {} }));
886+
.json_body(json!({ "server": {} }));
884887
});
885888

886889
let endpoint = Request::builder()

openstack_sdk/src/api/compute/v2/server/create_237.rs

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -789,7 +789,7 @@ impl RestEndpoint for Request<'_> {
789789
}
790790

791791
fn response_key(&self) -> Option<Cow<'static, str>> {
792-
None
792+
Some("server".into())
793793
}
794794

795795
/// Returns headers to be set into the request
@@ -837,21 +837,24 @@ mod tests {
837837

838838
#[test]
839839
fn test_response_key() {
840-
assert!(Request::builder()
841-
.server(
842-
ServerBuilder::default()
843-
.flavor_ref("foo")
844-
.name("foo")
845-
.networks(ServerNetworks::F1(Vec::from([NetworksBuilder::default()
840+
assert_eq!(
841+
Request::builder()
842+
.server(
843+
ServerBuilder::default()
844+
.flavor_ref("foo")
845+
.name("foo")
846+
.networks(ServerNetworks::F1(Vec::from([NetworksBuilder::default()
847+
.build()
848+
.unwrap()])))
846849
.build()
847-
.unwrap()])))
848-
.build()
849-
.unwrap()
850-
)
851-
.build()
852-
.unwrap()
853-
.response_key()
854-
.is_none())
850+
.unwrap()
851+
)
852+
.build()
853+
.unwrap()
854+
.response_key()
855+
.unwrap(),
856+
"server"
857+
);
855858
}
856859

857860
#[cfg(feature = "sync")]
@@ -865,7 +868,7 @@ mod tests {
865868

866869
then.status(200)
867870
.header("content-type", "application/json")
868-
.json_body(json!({ "dummy": {} }));
871+
.json_body(json!({ "server": {} }));
869872
});
870873

871874
let endpoint = Request::builder()
@@ -897,7 +900,7 @@ mod tests {
897900
.header("not_foo", "not_bar");
898901
then.status(200)
899902
.header("content-type", "application/json")
900-
.json_body(json!({ "dummy": {} }));
903+
.json_body(json!({ "server": {} }));
901904
});
902905

903906
let endpoint = Request::builder()

0 commit comments

Comments
 (0)