def test_auth_with_credentials(caplog, responses): """Authenticate passing credentials.""" caplog.set_level(logging.DEBUG, logger="charmcraft") responses.add( responses.GET, "https://auth.fakereg.com?service=test-service&scope=test-scope", json={"token": "test-token"}, ) ocireg = OCIRegistry( "https://fakereg.com", "test-image", username="******", password="******", ) auth_info = dict(realm="https://auth.fakereg.com", service="test-service", scope="test-scope") token = ocireg._authenticate(auth_info) assert token == "test-token" sent_auth_header = responses.calls[0].request.headers.get("Authorization") expected_encoded = base64.b64encode(b"test-user:test-password") assert sent_auth_header == "Basic " + expected_encoded.decode("ascii") # generic auth indication is logged but NOT the credentials expected = "Authenticating! {}".format(auth_info) assert [expected] == [rec.message for rec in caplog.records]
def test_auth_with_credentials(emitter, responses): """Authenticate passing credentials.""" responses.add( responses.GET, "https://auth.fakereg.com?service=test-service&scope=test-scope", json={"token": "test-token"}, ) ocireg = OCIRegistry( "https://fakereg.com", "test-image", username="******", password="******", ) auth_info = dict(realm="https://auth.fakereg.com", service="test-service", scope="test-scope") token = ocireg._authenticate(auth_info) assert token == "test-token" sent_auth_header = responses.calls[0].request.headers.get("Authorization") expected_encoded = base64.b64encode(b"test-user:test-password") assert sent_auth_header == "Basic " + expected_encoded.decode("ascii") # generic auth indication is logged but NOT the credentials expected = "Authenticating! {}".format(auth_info) emitter.assert_trace(expected)
def test_auth_simple(responses): """Simple authentication.""" responses.add( responses.GET, "https://auth.fakereg.com?service=test-service&scope=test-scope", json={"token": "test-token"}, ) ocireg = OCIRegistry("https://fakereg.com", "test-image") auth_info = dict(realm="https://auth.fakereg.com", service="test-service", scope="test-scope") token = ocireg._authenticate(auth_info) assert token == "test-token" sent_auth_header = responses.calls[0].request.headers.get("Authorization") assert sent_auth_header is None
def test_auth_with_just_username(caplog, responses): """Authenticate passing credentials.""" responses.add( responses.GET, "https://auth.fakereg.com?service=test-service&scope=test-scope", json={"token": "test-token"}, ) ocireg = OCIRegistry("https://fakereg.com", "test-image", username="******") auth_info = dict(realm="https://auth.fakereg.com", service="test-service", scope="test-scope") token = ocireg._authenticate(auth_info) assert token == "test-token" sent_auth_header = responses.calls[0].request.headers.get("Authorization") expected_encoded = base64.b64encode(b"test-user:"******"Basic " + expected_encoded.decode("ascii")