aboutsummaryrefslogtreecommitdiff
path: root/server/test/src/TestData.scala
blob: 64ac43bdd9ffa184e9038f2939b4ac4602f9d7e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package net.usebox.gemini.server

import scala.concurrent.duration._

object TestData {

  val host = "localhost"
  val port = 1965
  val portStr = port.toString()

  val conf = ServiceConf(
    address = "127.0.0.1",
    port = port,
    defaultMimeType = "text/plain",
    idleTimeout = 10.seconds,
    virtualHosts = List(
      VirtualHost(
        host = host,
        root = getClass.getResource("/").getPath(),
        keyStore = KeyStore(
          path = "/tmp/unused.jks",
          alias = "localhost",
          password = "secret"
        )
      )
    ),
    enabledProtocols = Nil,
    enabledCipherSuites = Nil
  )

  val cgiConf = ServiceConf.initConf(
    conf.copy(virtualHosts =
      List(
        conf
          .virtualHosts(0)
          .copy(
            directoryListing = true,
            directories = List(
              Directory(
                "dir/",
                directoryListing = Some(false),
                allowCgi = Some(true)
              )
            )
          )
      )
    )
  )

  val cgiPrefConf = ServiceConf.initConf(
    conf.copy(virtualHosts =
      List(
        conf
          .virtualHosts(0)
          .copy(
            directoryListing = true,
            directories = List(
              Directory(
                "dir/",
                directoryListing = Some(false),
                allowCgi = Some(true)
              ),
              Directory(
                "dir/sub/",
                directoryListing = Some(false),
                allowCgi = Some(true)
              )
            )
          )
      )
    )
  )

  val cgiEnvConf = cgiConf.copy(virtualHosts =
    List(
      cgiConf
        .virtualHosts(0)
        .copy(
          environment = Some(Map("env1" -> "value"))
        )
    )
  )

  val cgiIndexConf = cgiConf.copy(virtualHosts =
    List(
      cgiConf
        .virtualHosts(0)
        .copy(
          indexFile = "cgi"
        )
    )
  )

  val confUserDir = conf.copy(virtualHosts =
    List(
      conf
        .virtualHosts(0)
        .copy(
          userDirectories = true,
          userDirectoryPath = Some(
            getClass.getResource("/").getPath() + "{user}/public_gemini/"
          )
        )
    )
  )

  val mimeTypes = Some(
    Map(
      "config" -> List(".gmi", ".gemini")
    )
  )
}