mirror of
				https://github.com/nitnelave/lldap.git
				synced 2023-04-12 14:25:13 +00:00 
			
		
		
		
	Add tests for tcp handlers
This commit is contained in:
		
							parent
							
								
									f19a4b36de
								
							
						
					
					
						commit
						e90ef2737c
					
				@ -232,3 +232,65 @@ where
 | 
				
			|||||||
            )
 | 
					            )
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#[cfg(test)]
 | 
				
			||||||
 | 
					mod tests {
 | 
				
			||||||
 | 
					    use super::*;
 | 
				
			||||||
 | 
					    use actix_web::test::TestRequest;
 | 
				
			||||||
 | 
					    use std::path::Path;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    fn get_data(handler: MockTestBackendHandler) -> web::Data<AppState<MockTestBackendHandler>> {
 | 
				
			||||||
 | 
					        let app_state = AppState::<MockTestBackendHandler> {
 | 
				
			||||||
 | 
					            backend_handler: handler,
 | 
				
			||||||
 | 
					            jwt_key: Hmac::new_varkey(b"jwt_secret").unwrap(),
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        web::Data::<AppState<MockTestBackendHandler>>::new(app_state)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    fn expect_json<T: std::fmt::Debug>(result: ApiResult<T>) -> T {
 | 
				
			||||||
 | 
					        if let ApiResult::Left(res) = result {
 | 
				
			||||||
 | 
					            res.0
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            panic!("Expected Json result, got: {:?}", result);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #[actix_rt::test]
 | 
				
			||||||
 | 
					    async fn test_index_ok() {
 | 
				
			||||||
 | 
					        let req = TestRequest::default().to_http_request();
 | 
				
			||||||
 | 
					        let resp = index(req).await.unwrap();
 | 
				
			||||||
 | 
					        assert_eq!(resp.path(), Path::new("app/index.html"));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #[actix_rt::test]
 | 
				
			||||||
 | 
					    async fn test_index_main_js() {
 | 
				
			||||||
 | 
					        let req = TestRequest::default()
 | 
				
			||||||
 | 
					            .param("filename", "main.js")
 | 
				
			||||||
 | 
					            .to_http_request();
 | 
				
			||||||
 | 
					        let resp = index(req).await.unwrap();
 | 
				
			||||||
 | 
					        assert_eq!(resp.path(), Path::new("app/main.js"));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #[actix_rt::test]
 | 
				
			||||||
 | 
					    async fn test_user_list_ok() {
 | 
				
			||||||
 | 
					        let mut backend_handler = MockTestBackendHandler::new();
 | 
				
			||||||
 | 
					        backend_handler
 | 
				
			||||||
 | 
					            .expect_list_users()
 | 
				
			||||||
 | 
					            .times(1)
 | 
				
			||||||
 | 
					            .return_once(|_| {
 | 
				
			||||||
 | 
					                Ok(vec![User {
 | 
				
			||||||
 | 
					                    user_id: "bob".to_string(),
 | 
				
			||||||
 | 
					                    ..Default::default()
 | 
				
			||||||
 | 
					                }])
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        let json = web::Json(ListUsersRequest { filters: None });
 | 
				
			||||||
 | 
					        let resp = user_list_handler(get_data(backend_handler), json).await;
 | 
				
			||||||
 | 
					        assert_eq!(
 | 
				
			||||||
 | 
					            expect_json(resp),
 | 
				
			||||||
 | 
					            vec![User {
 | 
				
			||||||
 | 
					                user_id: "bob".to_string(),
 | 
				
			||||||
 | 
					                ..Default::default()
 | 
				
			||||||
 | 
					            }]
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user