()
| 127 | #[tokio::test] |
| 128 | #[ignore] |
| 129 | async fn postgres_roundtrip() { |
| 130 | let mut db = PgConnection::connect("postgresql://").await.unwrap(); |
| 131 | let mut db = db.begin().await.unwrap(); |
| 132 | crate::clear_DANGER_(&mut db).await.unwrap(); |
| 133 | |
| 134 | let value = JsonValue::Number(1.into()); |
| 135 | let id = get_next_auction_id(&mut db).await.unwrap(); |
| 136 | let value_str = serde_json::to_string(&value).unwrap(); |
| 137 | insert_auction_with_id(&mut db, id, &value_str) |
| 138 | .await |
| 139 | .unwrap(); |
| 140 | let (id_, value_) = load_most_recent(&mut db).await.unwrap().unwrap(); |
| 141 | assert_eq!(id, id_); |
| 142 | assert_eq!(value, value_); |
| 143 | |
| 144 | let value = JsonValue::Number(2.into()); |
| 145 | let id_ = get_next_auction_id(&mut db).await.unwrap(); |
| 146 | assert_eq!(id + 1, id_); |
| 147 | let value_str = serde_json::to_string(&value).unwrap(); |
| 148 | insert_auction_with_id(&mut db, id_, &value_str) |
| 149 | .await |
| 150 | .unwrap(); |
| 151 | let (id, value_) = load_most_recent(&mut db).await.unwrap().unwrap(); |
| 152 | assert_eq!(value, value_); |
| 153 | assert_eq!(id_, id); |
| 154 | |
| 155 | // let's assume the second auction contains a valid competition data so it's |
| 156 | // meaningful to save it into `competition_auctions` table as well |
| 157 | let auction = Auction { |
| 158 | id: id_, |
| 159 | block: 1, |
| 160 | deadline: 2, |
| 161 | order_uids: vec![ByteArray([1u8; 56]), ByteArray([2u8; 56])], |
| 162 | price_tokens: vec![ByteArray([1u8; 20])], |
| 163 | price_values: vec![BigDecimal::from(1)], |
| 164 | surplus_capturing_jit_order_owners: vec![ByteArray([1u8; 20])], |
| 165 | }; |
| 166 | save(&mut db, auction.clone()).await.unwrap(); |
| 167 | let auction_ = fetch(&mut db, id_).await.unwrap().unwrap(); |
| 168 | assert_eq!(auction, auction_); |
| 169 | |
| 170 | let order_uids = get_order_uids(&mut db, id_).await.unwrap().unwrap(); |
| 171 | assert_eq!(auction.order_uids, order_uids); |
| 172 | } |
| 173 | } |
nothing calls this directly
no test coverage detected