mirror of
https://github.com/miniflux/v2.git
synced 2025-10-15 19:42:07 +00:00
refactor(config): rewrite config parser
This PR refactors the configuration parser, replacing the old parser implementation with a new, more structured approach that includes validation and improved organization. Key changes: - Complete rewrite of the configuration parser using a map-based structure with built-in validation - Addition of comprehensive validator functions for configuration values - Renamed numerous configuration getter methods for better consistency
This commit is contained in:
parent
502e7108dd
commit
5e607be86a
27 changed files with 3615 additions and 3523 deletions
|
@ -67,7 +67,7 @@ func TestRewriteWithNoMatchingRule(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestRewriteYoutubeVideoLink(t *testing.T) {
|
||||
config.Opts = config.NewOptions()
|
||||
config.Opts = config.NewConfigOptions()
|
||||
|
||||
controlEntry := &model.Entry{
|
||||
URL: "https://www.youtube.com/watch?v=1234",
|
||||
|
@ -87,7 +87,7 @@ func TestRewriteYoutubeVideoLink(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestRewriteYoutubeShortLink(t *testing.T) {
|
||||
config.Opts = config.NewOptions()
|
||||
config.Opts = config.NewConfigOptions()
|
||||
|
||||
controlEntry := &model.Entry{
|
||||
URL: "https://www.youtube.com/shorts/1LUWKWZkPjo",
|
||||
|
@ -107,7 +107,7 @@ func TestRewriteYoutubeShortLink(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestRewriteIncorrectYoutubeLink(t *testing.T) {
|
||||
config.Opts = config.NewOptions()
|
||||
config.Opts = config.NewConfigOptions()
|
||||
|
||||
controlEntry := &model.Entry{
|
||||
URL: "https://www.youtube.com/some-page",
|
||||
|
@ -131,7 +131,7 @@ func TestRewriteYoutubeLinkAndCustomEmbedURL(t *testing.T) {
|
|||
os.Setenv("YOUTUBE_EMBED_URL_OVERRIDE", "https://invidious.custom/embed/")
|
||||
|
||||
var err error
|
||||
parser := config.NewParser()
|
||||
parser := config.NewConfigParser()
|
||||
config.Opts, err = parser.ParseEnvironmentVariables()
|
||||
|
||||
if err != nil {
|
||||
|
@ -156,7 +156,7 @@ func TestRewriteYoutubeLinkAndCustomEmbedURL(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestRewriteYoutubeVideoLinkUsingInvidious(t *testing.T) {
|
||||
config.Opts = config.NewOptions()
|
||||
config.Opts = config.NewConfigOptions()
|
||||
controlEntry := &model.Entry{
|
||||
URL: "https://www.youtube.com/watch?v=1234",
|
||||
Title: `A title`,
|
||||
|
@ -176,7 +176,7 @@ func TestRewriteYoutubeVideoLinkUsingInvidious(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestRewriteYoutubeShortLinkUsingInvidious(t *testing.T) {
|
||||
config.Opts = config.NewOptions()
|
||||
config.Opts = config.NewConfigOptions()
|
||||
controlEntry := &model.Entry{
|
||||
URL: "https://www.youtube.com/shorts/1LUWKWZkPjo",
|
||||
Title: `A title`,
|
||||
|
@ -196,7 +196,7 @@ func TestRewriteYoutubeShortLinkUsingInvidious(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAddYoutubeVideoFromId(t *testing.T) {
|
||||
config.Opts = config.NewOptions()
|
||||
config.Opts = config.NewConfigOptions()
|
||||
|
||||
scenarios := map[string]string{
|
||||
// Test with single YouTube ID
|
||||
|
@ -239,7 +239,7 @@ func TestAddYoutubeVideoFromIdWithCustomEmbedURL(t *testing.T) {
|
|||
os.Setenv("YOUTUBE_EMBED_URL_OVERRIDE", "https://invidious.custom/embed/")
|
||||
|
||||
var err error
|
||||
parser := config.NewParser()
|
||||
parser := config.NewConfigParser()
|
||||
config.Opts, err = parser.ParseEnvironmentVariables()
|
||||
|
||||
if err != nil {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue