fn set_credentials()

in elasticsearch/src/http/transport.rs [1270:1300]


    fn set_credentials() -> anyhow::Result<()> {
        let t1: Transport = TransportBuilder::new(SingleNodeConnectionPool::default())
            .auth(Credentials::Basic("foo".to_string(), "bar".to_string()))
            .build()?;

        if let Some(Credentials::Basic(login, password)) = t1.credentials.read().as_ref() {
            assert_eq!(login, "foo");
            assert_eq!(password, "bar");
        } else {
            panic!("Expected Basic credentials");
        }

        let t2 = t1.clone();

        t1.set_auth(Credentials::Bearer("The bear".to_string()));

        if let Some(Credentials::Bearer(token)) = t1.credentials.read().as_ref() {
            assert_eq!(token, "The bear");
        } else {
            panic!("Expected Bearer credentials");
        }

        // Verify that cloned transport also has the same credentials
        if let Some(Credentials::Bearer(token)) = t2.credentials.read().as_ref() {
            assert_eq!(token, "The bear");
        } else {
            panic!("Expected Bearer credentials");
        }

        Ok(())
    }