Skip to content

Commit dc1f70a

Browse files
committed
adding test for history server suite
1 parent a362f35 commit dc1f70a

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
package org.apache.spark.deploy.history
18+
19+
import org.scalatest.FunSuite
20+
import org.scalatest.matchers.ShouldMatchers
21+
import org.scalatest.mock.MockitoSugar
22+
import javax.servlet.http.HttpServletRequest
23+
import org.mockito.Mockito.{when}
24+
import org.apache.hadoop.fs.Path
25+
import org.apache.spark.ui.SparkUI
26+
import scala.collection.mutable
27+
28+
class HistoryServerSuite extends FunSuite with ShouldMatchers with MockitoSugar {
29+
30+
val historyServer = mock[HistoryServer]
31+
val request = mock[HttpServletRequest]
32+
33+
test("generate history page with relative links") {
34+
val ui = mock[SparkUI]
35+
val link = "/history/app1.html"
36+
val info = new ApplicationHistoryInfo("1", "app1", 0, 2, 1, "xxx", new Path("/tmp"), ui )
37+
val sampleHistory = mutable.HashMap("app1" -> info)
38+
when(historyServer.appIdToInfo).thenReturn(sampleHistory)
39+
when(ui.basePath).thenReturn(link)
40+
when(historyServer.getAddress).thenReturn("http://localhost:123")
41+
val page = new HistoryPage(historyServer)
42+
43+
//when
44+
val response = page.render(request)
45+
46+
//then
47+
val expectedLink = response \\ "a"
48+
expectedLink.size should equal(1)
49+
val hrefAttr = expectedLink(0).attribute("href")
50+
hrefAttr.get.toString should equal(link)
51+
}
52+
}

0 commit comments

Comments
 (0)