MCPcopy Create free account
hub / github.com/chirpstack/chirpstack / test_user

Function test_user

chirpstack/src/api/user.rs:261–410  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

259
260 #[tokio::test]
261 async fn test_user() {
262 let _guard = test::prepare().await;
263
264 // setup admin user
265 let u = user::User {
266 is_admin: true,
267 is_active: true,
268 email: "admin@admin".into(),
269 email_verified: true,
270 ..Default::default()
271 };
272 let u = user::create(u).await.unwrap();
273
274 // setup api
275 let service = User::new(RequestValidator::new());
276
277 // create
278 let create_req = api::CreateUserRequest {
279 password: "VerySecret123!".into(),
280 tenants: vec![],
281 user: Some(api::User {
282 is_admin: true,
283 is_active: true,
284 email: "foo@bar".into(),
285 note: "test user".into(),
286 ..Default::default()
287 }),
288 };
289 let mut create_req = Request::new(create_req);
290 create_req
291 .extensions_mut()
292 .insert(AuthID::User(Into::<uuid::Uuid>::into(u.id)));
293 let create_resp = service.create(create_req).await.unwrap();
294
295 // get
296 let get_req = api::GetUserRequest {
297 id: create_resp.get_ref().id.clone(),
298 };
299 let mut get_req = Request::new(get_req);
300 get_req
301 .extensions_mut()
302 .insert(AuthID::User(Into::<uuid::Uuid>::into(u.id)));
303 let get_resp = service.get(get_req).await.unwrap();
304 assert_eq!(
305 Some(api::User {
306 id: create_resp.get_ref().id.clone(),
307 is_admin: true,
308 is_active: true,
309 email: "foo@bar".into(),
310 note: "test user".into(),
311 ..Default::default()
312 }),
313 get_resp.get_ref().user
314 );
315
316 // update
317 let up_req = api::UpdateUserRequest {
318 user: Some(api::User {

Callers

nothing calls this directly

Calls 13

prepareFunction · 0.85
unwrapMethod · 0.80
insertMethod · 0.80
update_passwordMethod · 0.80
to_stringMethod · 0.80
UserClass · 0.70
createFunction · 0.50
intoMethod · 0.45
createMethod · 0.45
getMethod · 0.45
updateMethod · 0.45
listMethod · 0.45

Tested by

no test coverage detected