(t *testing.T)
| 141 | } |
| 142 | |
| 143 | func TestIfUnmodifiedSince(t *testing.T) { |
| 144 | p := Params{} |
| 145 | |
| 146 | now, err := time.Parse(time.RFC3339, "2021-01-01T12:00:00Z") |
| 147 | require.NoError(t, err) |
| 148 | |
| 149 | before, err := time.Parse(time.RFC3339, "2020-01-01T12:00:00Z") |
| 150 | require.NoError(t, err) |
| 151 | |
| 152 | after, err := time.Parse(time.RFC3339, "2022-01-01T12:00:00Z") |
| 153 | require.NoError(t, err) |
| 154 | |
| 155 | // Read request |
| 156 | r, _ := http.NewRequest(http.MethodGet, "https://example.com/resource", nil) |
| 157 | w := httptest.NewRecorder() |
| 158 | ctx := humatest.NewContext(nil, r, w) |
| 159 | |
| 160 | p.IfUnmodifiedSince = now |
| 161 | |
| 162 | p.Resolve(ctx) |
| 163 | require.NoError(t, p.PreconditionFailed("", before)) |
| 164 | require.NoError(t, p.PreconditionFailed("", now)) |
| 165 | require.Error(t, p.PreconditionFailed("", after)) |
| 166 | |
| 167 | // Write request |
| 168 | r, _ = http.NewRequest(http.MethodPut, "https://example.com/resource", nil) |
| 169 | w = httptest.NewRecorder() |
| 170 | ctx = humatest.NewContext(nil, r, w) |
| 171 | |
| 172 | p.IfUnmodifiedSince = now |
| 173 | |
| 174 | p.Resolve(ctx) |
| 175 | perr := p.PreconditionFailed("", after) |
| 176 | require.Error(t, perr) |
| 177 | assert.Equal(t, http.StatusPreconditionFailed, perr.GetStatus()) |
| 178 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…