spf13 / viper

Go configuration with fangs
MIT License
26.47k stars 2.01k forks source link

Make Unmarshal work with AutomaticEnv #1699

Closed sagikazarmark closed 7 months ago

sagikazarmark commented 7 months ago

github-actions[bot] commented 7 months ago

👋 Thanks for contributing to Viper! You are awesome! 🎉

A maintainer will take a look at your pull request shortly. 👀

In the meantime: We are working on Viper v2 and we would love to hear your thoughts about what you like or don't like about Viper, so we can improve or fix those issues.

⏰ If you have a couple minutes, please take some time and share your thoughts: https://forms.gle/R6faU74qPRPAzchZ9

📣 If you've already given us your feedback, you can still help by spreading the news, either by sharing the above link or telling people about this on Twitter:

https://twitter.com/sagikazarmark/status/1306904078967074816

Thank you! ❤️

sagikazarmark commented 7 months ago

Fixed in #1429

tomqwpl commented 4 months ago

Whilst this appears to have fixed things for "Unmarshal", it doesn't appear to have fixed things for "Unmarshalkey". Naively I expect that Unmarshalkey to be consistent with Unmarshal. That is, the following test fails (added as part of TestUnmarshalWithAutomaticEnv:

        t.Run("Subkey", func(t *testing.T) {
            var config StorageConfig

        if err := v.UnmarshalKey("filesystem", &config); err != nil {
            t.Fatalf("unable to decode into struct, %v", err)
        }

        assert.Equal(
            t,
            StorageConfig{
                Size: 4096,
            },
            config,
        )
    })