Skip to content

Commit e3c44da

Browse files
Fix test
1 parent 0eb1de9 commit e3c44da

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

common/scala/src/main/scala/org/apache/openwhisk/core/database/DocumentHandler.scala

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,17 @@ abstract class SimpleHandler extends DocumentHandler {
9696
provider: DocumentProvider)(implicit transid: TransactionId, ec: ExecutionContext): Future[Seq[JsObject]] = {
9797
//Query result from CouchDB have below object structure with actual result in `value` key
9898
//So transform the result to confirm to that structure
99-
val viewResult = JsObject(
100-
"id" -> js.fields("_id"),
101-
"key" -> createKey(ddoc, view, startKey, js),
102-
"value" -> computeView(ddoc, view, js))
99+
val value = computeView(ddoc, view, js)
100+
val viewResult = JsObject("id" -> js.fields("_id"), "key" -> createKey(ddoc, view, startKey, js), "value" -> value)
103101

104-
val result = if (includeDocs) JsObject(viewResult.fields + ("doc" -> js)) else viewResult
105-
Future.successful(Seq(result))
102+
if (includeDocs) value.fields.get("_id") match {
103+
case Some(JsString(id)) if id != js.fields("_id") =>
104+
provider.get(DocId(id)).map { doc =>
105+
Seq(JsObject(viewResult.fields + ("doc" -> doc.getOrElse(js))))
106+
}
107+
case _ =>
108+
Future.successful(Seq(JsObject(viewResult.fields + ("doc" -> js))))
109+
} else Future.successful(Seq(viewResult))
106110
}
107111

108112
/**
@@ -207,7 +211,7 @@ object WhisksHandler extends SimpleHandler {
207211
val FULL_NAME = "fullname"
208212
private val commonFields = Set("namespace", "name", "version", "publish", "annotations", "updated")
209213
private val actionFields = commonFields ++ Set("limits", "exec.binary")
210-
private val actionVersionFields = commonFields ++ Set("_id")
214+
private val actionVersionFields = commonFields ++ Set("_id", "id")
211215
private val packageFields = commonFields ++ Set("binding")
212216
private val packagePublicFields = commonFields
213217
private val ruleFields = commonFields
@@ -302,12 +306,9 @@ object WhisksHandler extends SimpleHandler {
302306
}
303307

304308
private def computeActionVersionsView(js: JsObject): JsObject = {
305-
val publish = annotationValue(js, "publish", { v =>
306-
v.convertTo[Boolean]
307-
}, true)
308-
309309
val base = js.fields.filterKeys(actionVersionFields).toMap
310-
JsObject(base + ("publish" -> publish.toJson))
310+
val defaultId = js.fields("namespace") + "/" + js.fields("name") + "/default"
311+
JsObject(base + ("_id" -> JsString(defaultId), "id" -> js.fields("_id")))
311312
}
312313
}
313314

tests/src/test/scala/system/basic/WskActionTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ class WskActionTests extends TestHelpers with WskTestHelpers with JsHelpers with
9292
}
9393

9494
// set the default version
95-
wsk.action.create(name, None, defaultVersion = Some("0.0.2"))
95+
wsk.action.create(name, Some(TestUtils.getTestActionFilename("hello.js")), defaultVersion = Some("0.0.2"))
9696

9797
// invoke the default version
9898
val run = wsk.action.invoke(name, Map("payload" -> "world".toJson))

0 commit comments

Comments
 (0)