Class ExtentKlovReporter

java.lang.Object
com.aventstack.extentreports.reporter.AbstractReporter
com.aventstack.extentreports.reporter.ExtentKlovReporter
All Implemented Interfaces:
com.aventstack.extentreports.observer.AttributesObserver<com.aventstack.extentreports.observer.entity.ObservedEntity>, com.aventstack.extentreports.observer.EntityObserver<com.aventstack.extentreports.observer.entity.ObservedEntity>, com.aventstack.extentreports.observer.ExtentObserver<com.aventstack.extentreports.observer.entity.ObservedEntity>, com.aventstack.extentreports.observer.LogObserver<com.aventstack.extentreports.observer.entity.ObservedEntity>, com.aventstack.extentreports.observer.MediaObserver<com.aventstack.extentreports.observer.entity.ObservedEntity>, com.aventstack.extentreports.observer.ReportObserver<com.aventstack.extentreports.observer.entity.ObservedEntity>, com.aventstack.extentreports.observer.TestObserver<com.aventstack.extentreports.observer.entity.ObservedEntity>, com.aventstack.extentreports.reporter.ExtentReporter

public class ExtentKlovReporter extends com.aventstack.extentreports.reporter.AbstractReporter implements com.aventstack.extentreports.observer.EntityObserver<com.aventstack.extentreports.observer.entity.ObservedEntity>
ExtentKlovReporter is a NoSQL database reporter (MongoDB), which updates information in the database which is then used by the ExtentX server to display in-depth analysis. ExtentKlovReporter is a port from ExtentReports version 4.
  • Field Details

  • Constructor Details

    • ExtentKlovReporter

      public ExtentKlovReporter()
      Initializes the KlovReporter
    • ExtentKlovReporter

      public ExtentKlovReporter(String projectName, String reportName)
      Initializes the KlovReporter with project and report names
      Parameters:
      projectName - Name of the project
      reportName - Name of the report
    • ExtentKlovReporter

      public ExtentKlovReporter(String projectName)
  • Method Details

    • setProjectName

      public void setProjectName(String projectName)
      Sets the project name
      Parameters:
      projectName - Name of the project
    • setReportName

      public void setReportName(String reportName)
      Sets the report name
      Parameters:
      reportName - Name of the report
    • initMongoDbConnection

      public ExtentKlovReporter initMongoDbConnection(String host)
      Initialize Mongo DB connection with host and default port: 27017
      Parameters:
      host - host name
      Returns:
      a ExtentKlovReporter object
    • initMongoDbConnection

      public ExtentKlovReporter initMongoDbConnection(String host, com.mongodb.MongoClientOptions options)
      Initialize Mongo DB connection with host and MongoClientOptions
      Parameters:
      host - host name
      options - MongoClientOptions options
      Returns:
      a ExtentKlovReporter object
    • initMongoDbConnection

      public ExtentKlovReporter initMongoDbConnection(String host, int port)
      Initialize Mongo DB connection with host and post
      Parameters:
      host - host name
      port - port number
      Returns:
      a ExtentKlovReporter object
    • initMongoDbConnection

      public ExtentKlovReporter initMongoDbConnection(com.mongodb.MongoClientURI uri)
      Initialize Mongo DB connection with a MongoClientURI
      Parameters:
      uri - MongoClientURI uri
      Returns:
      a ExtentKlovReporter object
    • initMongoDbConnection

      public ExtentKlovReporter initMongoDbConnection(com.mongodb.ServerAddress addr)
      Initializes the Mongo DB connection with ServerAddress
      Parameters:
      addr - ServerAddress server address
      Returns:
      a ExtentKlovReporter object
    • initMongoDbConnection

      public ExtentKlovReporter initMongoDbConnection(List<com.mongodb.ServerAddress> seeds)
      Initializes the Mongo DB connection with a list of ServerAddress addresses
      Parameters:
      seeds - A list of ServerAddress server addresses
      Returns:
      a ExtentKlovReporter object
    • initMongoDbConnection

      public ExtentKlovReporter initMongoDbConnection(List<com.mongodb.ServerAddress> seeds, com.mongodb.MongoClientOptions options)
      Initializes the Mongo DB connection with a list of ServerAddress and MongoClientOptions
      Parameters:
      seeds - A list of ServerAddress server addresses
      options - MongoClientOptions options
      Returns:
      a ExtentKlovReporter object
    • initMongoDbConnection

      public ExtentKlovReporter initMongoDbConnection(com.mongodb.ServerAddress addr, com.mongodb.MongoClientOptions options)
      Initializes the Mongo DB connection with a ServerAddress and MongoClientOptions
      Parameters:
      addr - A list of ServerAddress server addresses
      options - MongoClientOptions options
      Returns:
      a ExtentKlovReporter object
    • initKlovServerConnection

      public ExtentKlovReporter initKlovServerConnection(String url)
      Initializes the Mongo DB connection with a connection url
      Parameters:
      url - Url string
      Returns:
      a ExtentKlovReporter object
    • setDatabaseName

      public ExtentKlovReporter setDatabaseName(String name)
      Specify a database name instead of default: "Klov"
      Parameters:
      name - Name of the database
      Returns:
      a ExtentKlovReporter object
    • initWithDefaultSettings

      public ExtentKlovReporter initWithDefaultSettings()
      Initializes KlovReporter with default Klov and MongoDB settings. This default the Klov server and MongoDB to LOCALHOST and also uses default ports 80 and 27017 respectively.
      Returns:
      A ExtentKlovReporter object
    • loadInitializationParams

      public void loadInitializationParams(InputStream is)
    • flush

      public void flush(com.aventstack.extentreports.observer.entity.ReportEntity entity)
    • getCollectionValues

      public Set<org.bson.types.ObjectId> getCollectionValues(Map<String,org.bson.types.ObjectId> collection)
    • getAttributesObserver

      public io.reactivex.rxjava3.core.Observer<com.aventstack.extentreports.observer.entity.AttributeEntity> getAttributesObserver()
      Specified by:
      getAttributesObserver in interface com.aventstack.extentreports.observer.AttributesObserver<com.aventstack.extentreports.observer.entity.ObservedEntity>
    • assignAttribute

      public <T extends com.aventstack.extentreports.model.NamedAttribute> void assignAttribute(com.aventstack.extentreports.model.Test test, com.aventstack.extentreports.model.NamedAttribute attribute, Map<String,org.bson.types.ObjectId> attrObjectIdCollection, com.mongodb.client.MongoCollection<org.bson.Document> mongoCollection, com.aventstack.extentreports.model.context.NamedAttributeContextManager<T> attributeContext)
    • getLogObserver

      public io.reactivex.rxjava3.core.Observer<com.aventstack.extentreports.observer.entity.LogEntity> getLogObserver()
      Specified by:
      getLogObserver in interface com.aventstack.extentreports.observer.LogObserver<com.aventstack.extentreports.observer.entity.ObservedEntity>
    • onLogAdded

      public void onLogAdded(com.aventstack.extentreports.model.Test test, com.aventstack.extentreports.model.Log log)
    • getMediaObserver

      public io.reactivex.rxjava3.core.Observer<com.aventstack.extentreports.observer.entity.MediaEntity> getMediaObserver()
      Specified by:
      getMediaObserver in interface com.aventstack.extentreports.observer.MediaObserver<com.aventstack.extentreports.observer.entity.ObservedEntity>
    • onScreenCaptureAdded

      public void onScreenCaptureAdded(com.aventstack.extentreports.model.Test test, com.aventstack.extentreports.model.ScreenCapture screenCapture) throws IOException
      Throws:
      IOException
    • onScreenCaptureAdded

      public void onScreenCaptureAdded(com.aventstack.extentreports.model.Log log, com.aventstack.extentreports.model.Test test, com.aventstack.extentreports.model.ScreenCapture screenCapture) throws IOException
      Throws:
      IOException
    • getReportObserver

      public io.reactivex.rxjava3.core.Observer<com.aventstack.extentreports.observer.entity.ReportEntity> getReportObserver()
      Specified by:
      getReportObserver in interface com.aventstack.extentreports.observer.ReportObserver<com.aventstack.extentreports.observer.entity.ObservedEntity>
    • getTestObserver

      public io.reactivex.rxjava3.core.Observer<com.aventstack.extentreports.observer.entity.TestEntity> getTestObserver()
      Specified by:
      getTestObserver in interface com.aventstack.extentreports.observer.TestObserver<com.aventstack.extentreports.observer.entity.ObservedEntity>
    • mongoClient

      public com.mongodb.MongoClient mongoClient()
    • uri

      public String uri()