diff options
author | 2024-10-05 20:37:30 -0700 | |
---|---|---|
committer | 2024-10-05 21:21:12 -0700 | |
commit | e555e442fba0a9ca3c8cf67444e8c42f79db359a (patch) | |
tree | e7ee91ff4842ef23569833e0443be91545d4c42e /internal/api/api_integration_test.go | |
parent | 600dea6ce54989a792e666a0a26de0ee847e4562 (diff) | |
download | v2-e555e442fba0a9ca3c8cf67444e8c42f79db359a.tar.gz v2-e555e442fba0a9ca3c8cf67444e8c42f79db359a.tar.zst v2-e555e442fba0a9ca3c8cf67444e8c42f79db359a.zip |
feat: add new settings option to allow external fonts
Diffstat (limited to 'internal/api/api_integration_test.go')
-rw-r--r-- | internal/api/api_integration_test.go | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/internal/api/api_integration_test.go b/internal/api/api_integration_test.go index 1a95cf08..fe172ce5 100644 --- a/internal/api/api_integration_test.go +++ b/internal/api/api_integration_test.go @@ -592,6 +592,59 @@ func TestUpdateUserEndpointByChangingDefaultTheme(t *testing.T) { } } +func TestUpdateUserEndpointByChangingExternalFonts(t *testing.T) { + testConfig := newIntegrationTestConfig() + if !testConfig.isConfigured() { + t.Skip(skipIntegrationTestsMessage) + } + + adminClient := miniflux.NewClient(testConfig.testBaseURL, testConfig.testAdminUsername, testConfig.testAdminPassword) + regularTestUser, err := adminClient.CreateUser(testConfig.genRandomUsername(), testConfig.testRegularPassword, false) + if err != nil { + t.Fatal(err) + } + defer adminClient.DeleteUser(regularTestUser.ID) + + regularUserClient := miniflux.NewClient(testConfig.testBaseURL, regularTestUser.Username, testConfig.testRegularPassword) + + userUpdateRequest := &miniflux.UserModificationRequest{ + ExternalFontHosts: miniflux.SetOptionalField(" fonts.example.org "), + } + + updatedUser, err := regularUserClient.UpdateUser(regularTestUser.ID, userUpdateRequest) + if err != nil { + t.Fatal(err) + } + + if updatedUser.ExternalFontHosts != "fonts.example.org" { + t.Fatalf(`Invalid external font hosts, got "%v"`, updatedUser.ExternalFontHosts) + } +} + +func TestUpdateUserEndpointByChangingExternalFontsWithInvalidValue(t *testing.T) { + testConfig := newIntegrationTestConfig() + if !testConfig.isConfigured() { + t.Skip(skipIntegrationTestsMessage) + } + + adminClient := miniflux.NewClient(testConfig.testBaseURL, testConfig.testAdminUsername, testConfig.testAdminPassword) + regularTestUser, err := adminClient.CreateUser(testConfig.genRandomUsername(), testConfig.testRegularPassword, false) + if err != nil { + t.Fatal(err) + } + defer adminClient.DeleteUser(regularTestUser.ID) + + regularUserClient := miniflux.NewClient(testConfig.testBaseURL, regularTestUser.Username, testConfig.testRegularPassword) + + userUpdateRequest := &miniflux.UserModificationRequest{ + ExternalFontHosts: miniflux.SetOptionalField("'self' *"), + } + + if _, err := regularUserClient.UpdateUser(regularTestUser.ID, userUpdateRequest); err == nil { + t.Fatal(`Updating the user with an invalid external font host should raise an error`) + } +} + func TestUpdateUserEndpointByChangingCustomJS(t *testing.T) { testConfig := newIntegrationTestConfig() if !testConfig.isConfigured() { |