You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In #11722 I tried to remove a public API and needed to move a test to a more appropriate package. This changed the test execution order and caused test failures:
GetAuthenticationMechanismsTest > getAuthMechanisms_emptyIdentity_success FAILED
1 expectation failed:
1. value of:
getAuthMechanism(...)
expected:
Optional[token: "access_token"
]
but was:
Optional.empty
at io.grpc.s2a.internal.handshaker.GetAuthenticationMechanismsTest.getAuthMechanisms_emptyIdentity_success(GetAuthenticationMechanismsTest.java:53)
GetAuthenticationMechanismsTest > getAuthMechanisms_nonEmptyIdentity_success FAILED
1 expectation failed:
1. value of:
getAuthMechanism(...)
expected:
Optional[identity {
spiffe_id: "fake-spiffe-id"
}
token: "access_token"
]
but was:
Optional.empty
at io.grpc.s2a.internal.handshaker.GetAuthenticationMechanismsTest.getAuthMechanisms_nonEmptyIdentity_success(GetAuthenticationMechanismsTest.java:62)
In investigating the failure, I found multiple global states that were mutated by tests and not restored. Those are being fixed in #11731. But I also saw that GetAuthenticationMechanisms will copy some of the global state and remember it. Thus even after restoring the mutated state the tests are still order-dependent.
It isn't at all clear to me what the point of GetAuthenticationMechanisms is, as it seems to be a very convoluted approach to read an environment variable. I don't understand why TokenFetcher receives an S2AIdentity, as the only implementation ignores it. I suspect some of this may be for testing, although it seems dependency injection would be much better suited.
The text was updated successfully, but these errors were encountered:
@rmehta19
In #11722 I tried to remove a public API and needed to move a test to a more appropriate package. This changed the test execution order and caused test failures:
In investigating the failure, I found multiple global states that were mutated by tests and not restored. Those are being fixed in #11731. But I also saw that
GetAuthenticationMechanisms
will copy some of the global state and remember it. Thus even after restoring the mutated state the tests are still order-dependent.It isn't at all clear to me what the point of
GetAuthenticationMechanisms
is, as it seems to be a very convoluted approach to read an environment variable. I don't understand why TokenFetcher receives an S2AIdentity, as the only implementation ignores it. I suspect some of this may be for testing, although it seems dependency injection would be much better suited.The text was updated successfully, but these errors were encountered: