Deployment and lifecycle management for Nix
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

agent: when not user sower-agent, add username to name

+39 -1
+19 -1
apps/sower_client/lib/sower_client/config.ex
··· 182 182 end 183 183 184 184 def default_client_name() do 185 - :inet.gethostname() |> then(fn {:ok, hostname} -> to_string(hostname) end) 185 + hostname = 186 + case :inet.gethostname() do 187 + {:ok, value} -> to_string(value) 188 + _ -> "unknown-host" 189 + end 190 + 191 + case System.get_env("USER") do 192 + user when is_binary(user) -> 193 + user = String.trim(user) 194 + 195 + if user == "" or user == "sower-agent" do 196 + hostname 197 + else 198 + "#{user}@#{hostname}" 199 + end 200 + 201 + _ -> 202 + hostname 203 + end 186 204 end 187 205 188 206 def default_state_dir do
+20
apps/sower_client/test/sower_client/config_test.exs
··· 74 74 end 75 75 end 76 76 77 + describe "default_client_name/0" do 78 + test "returns USER@HOST for non-sower-agent users" do 79 + {:ok, hostname} = :inet.gethostname() 80 + hostname = to_string(hostname) 81 + 82 + with_env(%{"USER" => "alice"}, fn -> 83 + assert Config.default_client_name() == "alice@#{hostname}" 84 + end) 85 + end 86 + 87 + test "returns HOST for sower-agent user" do 88 + {:ok, hostname} = :inet.gethostname() 89 + hostname = to_string(hostname) 90 + 91 + with_env(%{"USER" => "sower-agent"}, fn -> 92 + assert Config.default_client_name() == hostname 93 + end) 94 + end 95 + end 96 + 77 97 describe "parse_file_values/1" do 78 98 setup do 79 99 tmp_dir = System.tmp_dir!()