basic test for builds
							parent
							
								
									94c177234e
								
							
						
					
					
						commit
						7b1d7c5dc9
					
				| @ -0,0 +1,52 @@ | |||||||
|  | package alfred.web.core.build | ||||||
|  | 
 | ||||||
|  | import org.junit.jupiter.api.Test | ||||||
|  | import org.junit.jupiter.api.assertThrows | ||||||
|  | import java.nio.file.Paths | ||||||
|  | import kotlin.test.assertEquals | ||||||
|  | 
 | ||||||
|  | class BuildsTest { | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     fun `reads minimal build config`() { | ||||||
|  |         val cfg = builds().buildConfig("minimal") | ||||||
|  | 
 | ||||||
|  |         assertEquals("Gandalf", cfg.user) | ||||||
|  |         assertEquals("Mellon", cfg.apikey) | ||||||
|  |         assertEquals("/tmp", cfg.workspace) | ||||||
|  |         assertEquals(30L, cfg.gitCloneTimeout, "Default value for clone timeout expected") | ||||||
|  |         assertEquals(0, cfg.env.count(), "No env entries expected") | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     fun `unknown builds are reported`() { | ||||||
|  |         val builds = builds() | ||||||
|  | 
 | ||||||
|  |         assertThrows<UnknownBuild> { | ||||||
|  |             builds.buildConfig("unknown") | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     fun `reads maximum build config`() { | ||||||
|  |         val cfg = builds().buildConfig("maximum") | ||||||
|  | 
 | ||||||
|  |         assertEquals("Merri", cfg.user) | ||||||
|  |         assertEquals("Shire", cfg.apikey) | ||||||
|  |         assertEquals("/tmp/far-away", cfg.workspace) | ||||||
|  |         assertEquals("echo Breakfast", cfg.script) | ||||||
|  |         assertEquals("https://something.nowhere", cfg.gitRepo) | ||||||
|  |         assertEquals(10, cfg.gitCloneTimeout) | ||||||
|  |         assertEquals(1, cfg.env.count()) | ||||||
|  |         assertEquals("env1-value", cfg.env["ENV1"]) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private fun builds() = | ||||||
|  |         Builds( | ||||||
|  |             Paths.get("") | ||||||
|  |                 .toAbsolutePath() | ||||||
|  |                 .resolve("src/test/resources/home-1") | ||||||
|  |                 .toString() | ||||||
|  |         ) | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,12 @@ | |||||||
|  | user=Merri | ||||||
|  | workspace=/tmp/far-away | ||||||
|  | apikey=Shire | ||||||
|  | 
 | ||||||
|  | script=echo Breakfast | ||||||
|  | 
 | ||||||
|  | git.repo.url=https://something.nowhere | ||||||
|  | git.close.timeout=10 | ||||||
|  | 
 | ||||||
|  | ignored=true | ||||||
|  | 
 | ||||||
|  | ENV1=env1-value | ||||||
| @ -0,0 +1,3 @@ | |||||||
|  | user=Gandalf | ||||||
|  | workspace=/tmp | ||||||
|  | apikey=Mellon | ||||||
					Loading…
					
					
				
		Reference in New Issue
	
	 Josha von Gizycki
						Josha von Gizycki