Update roles/home/aichat.nix

This commit is contained in:
Giulio De Pasquale 2024-07-02 15:20:14 +01:00
parent 897b7eb644
commit abb0002c4c

View File

@ -148,117 +148,57 @@ roles = ''
### INPUT: ### INPUT:
diff --git a/structs/routing_test.go b/structs/routing_test.go diff --git a/pkg/khttp/client.go b/pkg/khttp/client.go
index 2e19254..04191cc 100644 index a53064c..3aff938 100644
--- a/structs/routing_test.go --- a/pkg/khttp/client.go
+++ b/structs/routing_test.go +++ b/pkg/khttp/client.go
@@ -3,7 +3,7 @@ package structs_test @@ -11,14 +11,17 @@ import (
import (
"testing"
- "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
"github.pie.apple.com/kerosene/Core/structs" "github.pie.apple.com/kerosene/Core/structs"
"gorm.io/datatypes"
) )
@@ -15,18 +15,18 @@ func TestNewRoutingBuilder(t *testing.T) {
scheme := "http"
builder, err := structs.NewRoutingBuilder(name, proxy, port, scheme) +// TODO: https://github.pie.apple.com/Kerosene/Core/issues/43
- assert.NoError(t, err) +// feat: Centralise and remove over use of os.Environment
+ require.NoError(t, err) const (
- // Environment variables and file names.
authFilesDirEnvVar = "WHISPER_AUTH_FILES_DIR"
keyName = "decrypted_key.pem"
certName = "cert.pem"
)
routing, err := builder.Build() // Error for missing environment variable.
- assert.NoError(t, err) +// TODO: refactor: move errors into centralized errors.go files
- +// https://github.pie.apple.com/Kerosene/Core/issues/57
- assert.Equal(t, name, routing.Name) var errMissingEnvironmentVariable = fmt.Errorf("%s environment variable is not set", authFilesDirEnvVar)
- assert.Equal(t, proxy, routing.Proxy)
- assert.Equal(t, port, routing.Port) // AuthConfig holds authentication file paths.
- assert.Equal(t, scheme, routing.Scheme) @@ -31,9 +34,11 @@ type AuthConfig struct {
- assert.Equal(t, datatypes.JSON(`[]`), routing.NameServers) // NewAuthConfig creates an AuthConfig from environment variables.
- assert.Nil(t, routing.Providers) func NewAuthConfig() (*AuthConfig, error) {
- assert.Nil(t, routing.Assets) dir := os.Getenv(authFilesDirEnvVar)
+ require.NoError(t, err)
+ +
+ require.Equal(t, name, routing.Name) if dir == "" {
+ require.Equal(t, proxy, routing.Proxy) return nil, errMissingEnvironmentVariable
+ require.Equal(t, port, routing.Port)
+ require.Equal(t, scheme, routing.Scheme)
+ require.Equal(t, datatypes.JSON(`[]`), routing.NameServers)
+ require.Nil(t, routing.Providers)
+ require.Nil(t, routing.Assets)
} }
func TestRoutingBuilderMethods(t *testing.T) {
@@ -39,7 +39,7 @@ func TestRoutingBuilderMethods(t *testing.T) {
assets := []structs.Asset{}
builder, err := structs.NewRoutingBuilder(name, proxy, port, scheme)
- assert.NoError(t, err)
+ require.NoError(t, err)
routing, err := builder.
WithProviders(providers).
@@ -47,38 +47,24 @@ func TestRoutingBuilderMethods(t *testing.T) {
WithAssets(assets).
Build()
- assert.NoError(t, err)
- assert.Equal(t, providers, routing.Providers)
- assert.Equal(t, nameServers, routing.NameServers)
- assert.Equal(t, assets, routing.Assets)
+ require.NoError(t, err)
+ require.Equal(t, providers, routing.Providers)
+ require.Equal(t, nameServers, routing.NameServers)
+ require.Equal(t, assets, routing.Assets)
}
-// func TestRoutingBuilderValidation(t *testing.T) {
-// builder, err := structs.NewRoutingBuilder("exampleName", "exampleProxy", 8080, "http")
-// assert.NoError(t, err)
-
-// // Test successful build
-// routing, err := builder.Build()
-// assert.NoError(t, err)
-// assert.NotNil(t, routing)
-
-// // Test invalid build with missing required fields
-// builder.routing.Name = ""
-// routing, err = builder.Build()
-// assert.Error(t, err)
-// assert.Nil(t, routing)
-// }
-
func TestRoutingBuilderSanityChecks(t *testing.T) {
+ t.Parallel()
+ +
_, err := structs.NewRoutingBuilder("", "exampleProxy", 8080, "http") return &AuthConfig{
- assert.Error(t, err) Dir: dir,
- assert.Equal(t, structs.ErrInvalidName, err) CertFile: filepath.Join(dir, certName),
+ require.Error(t, err) @@ -211,7 +216,7 @@ func setupMTLSOnlyTransport(certData string, keyData string) (*http.Transport, e
+ require.Equal(t, structs.ErrInvalidName, err)
_, err = structs.NewRoutingBuilder("exampleName", "", 8080, "http") // Make scheme and Auth Type separate and load from DB.
- assert.Error(t, err) func parseProxyURL(scheme string, routing structs.Routing) (*url.URL, error) {
- assert.Equal(t, structs.ErrInvalidProxy, err) - return url.Parse(fmt.Sprintf("%s://%s:%s", scheme, routing.Proxy, routing.Port))
+ require.Error(t, err) + return url.Parse(fmt.Sprintf("%s://%s:%d", scheme, routing.Proxy, routing.Port))
+ require.Equal(t, structs.ErrInvalidProxy, err)
_, err = structs.NewRoutingBuilder("exampleName", "exampleProxy", 8080, "")
- assert.Error(t, err)
- assert.Equal(t, structs.ErrInvalidScheme, err)
+ require.Error(t, err)
+ require.Equal(t, structs.ErrInvalidScheme, err)
} }
// loadX509KeyPair loads an X509 key pair from the specified cert and key files.
### OUTPUT: ### OUTPUT:
refactor(structs_tests): update test assertion library to 'require' and refactor tests for better readability fix/refactor(khttp/client): use correct format specifier for and add TODOs
- Replaced the 'assert' library with 'require' in routing_test.go - Parsed proxy URL using `fmt.Sprintf()` with correct format specifier for port
- Refined code formatting and added comments - Added TODOs to centralize errors and remove overuse of `os.Environment` (#43, #57)
- Removed commented out test functions
- Added `t.Parallel()`
- name: createpr - name: createpr