require.Equal(t, os.FileMode(0o600), info.Mode().Perm())
}
+func TestClientRefusesCallsOverTheLimit(t *testing.T) {
+ server := newFakeResponses(t)
+ client := newTestClient(t, server)
+ client.LimitCalls(2)
+
+ for range 2 {
+ require.False(t, client.LimitReached())
+ _, err := client.Create(t.Context(), testRequest())
+ require.NoError(t, err)
+ }
+
+ require.True(t, client.LimitReached())
+ _, err := client.Create(t.Context(), testRequest())
+ require.ErrorIs(t, err, errCallLimit)
+ require.Equal(t, 2, server.Calls())
+ require.Len(t, readUsage(t, client.usage.path), 2)
+}
+
func TestClientFailsWhenTheResponseFails(t *testing.T) {
testCases := []struct {
name string