当前位置: 首页>>代码示例>>Scala>>正文


Scala DataEvent类代码示例

本文整理汇总了Scala中uk.gov.hmrc.play.audit.model.DataEvent的典型用法代码示例。如果您正苦于以下问题:Scala DataEvent类的具体用法?Scala DataEvent怎么用?Scala DataEvent使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了DataEvent类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。

示例1: AuditSerialiserSpec

//设置package包名称以及导入依赖的类
package uk.gov.hmrc.audit.serialiser

import java.util.UUID

import org.joda.time.DateTime
import org.specs2.mutable.Specification
import uk.gov.hmrc.play.audit.model.{DataCall, DataEvent, ExtendedDataEvent, MergedDataEvent}

class AuditSerialiserSpec extends Specification {

  val serialiser = new AuditSerialiser
  val uuid: String = UUID.randomUUID().toString
  val dateTime: DateTime = DateTime.parse("2017-01-01T12:00+00:00")
  val dateString: String = "2017-01-01T12:00:00.000Z"

  "When serialising a DataEvent the result" should {
    "Populate all supplied fields in the correct format" in {
      val dataEvent = DataEvent("source", "type", uuid, generatedAt = dateTime).withTags(("foo", "bar")).withDetail(("one", "two"))
      val expectedResult = s"""{"auditSource":"source","auditType":"type","eventId":"$uuid","tags":{"foo":"bar"},"detail":{"one":"two"},"generatedAt":"$dateString"}"""
      serialiser.serialise(dataEvent) must be equalTo expectedResult
    }

    "Omit any empty fields" in {
      val dataEvent = DataEvent("source", "type", uuid, generatedAt = dateTime).withTags(("foo", "bar"), ("blah", null)).withDetail(("one", "two"), ("three", null))
      val expectedResult = s"""{"auditSource":"source","auditType":"type","eventId":"$uuid","tags":{"foo":"bar"},"detail":{"one":"two"},"generatedAt":"$dateString"}"""
      serialiser.serialise(dataEvent) must be equalTo expectedResult
    }

    "Omit any objects that have no fields" in {
      val dataEvent = DataEvent("source", "type", uuid, generatedAt = dateTime)
      val expectedResult = s"""{"auditSource":"source","auditType":"type","eventId":"$uuid","generatedAt":"$dateString"}"""
      serialiser.serialise(dataEvent) must be equalTo expectedResult
    }
  }

  "When serialising a MergedDataEvent the result" should {
    "Populate all supplied fields in the correct format" in {
      val requestDataCall = DataCall(Map[String, String](("foo", "bar")), Map[String, String](("one", "two")), dateTime)
      val responseDataCall = DataCall(Map[String, String](("blah", "baz")), Map[String, String](("three", "four")), dateTime)
      val mergedEvent = MergedDataEvent("source", "type", uuid, requestDataCall, responseDataCall)
      val expectedResult = s"""{"auditSource":"source","auditType":"type","eventId":"$uuid","request":{"tags":{"foo":"bar"},"detail":{"one":"two"},"generatedAt":"$dateString"},"response":{"tags":{"blah":"baz"},"detail":{"three":"four"},"generatedAt":"$dateString"}}"""
      serialiser.serialise(mergedEvent) must be equalTo expectedResult
    }
  }
} 
开发者ID:hmrc,项目名称:auditing,代码行数:46,代码来源:AuditSerialiserSpec.scala


注:本文中的uk.gov.hmrc.play.audit.model.DataEvent类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。