Class 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.
    • Constructor Detail

      • 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 Detail

      • 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
      • 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()