Code Monkey home page Code Monkey logo

coteafs-datasource's Introduction

coteafs-datasource

Open Source Love CircleCI

Maven Central Github Releases License

Usage ๐Ÿƒ

Dependency

<dependency>
  <groupId>com.github.wasiqb.coteafs</groupId>
  <artifactId>datasource</artifactId>
  <version>1.0.0</version>
</dependency>

Example

Pojo Classes

Pojo class for our data file login-data.yml.

import java.util.List;

import com.github.wasiqb.coteafs.datasource.annotation.DataFile;
import lombok.Data;

@Data
@DataFile
public class LoginData {
    private List<Login> loginData;
}

@Data
public class Login {
    private String password;
    private String userName;
}

Data file content

Data for our Yml data file login-data.yml.

login_data:
  - user_name: WasiqB
    password: Admin
  - user_name: FaisalK
    password: Abcd

Parsing data file

Following is an example to convert data file into a TestNG data provider.

import static com.google.common.truth.Truth.assertWithMessage;

import com.github.wasiqb.coteafs.datasource.data.LoginData;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

public class DataSourceYmlTest {
    @DataProvider
    public Iterator<Object[]> getLoginDataYml () {
        final LoginData loginData = DataSource.parse (LoginData.class);
        final List<Object[]> data = new ArrayList<> ();
        loginData.getLoginData ()
            .forEach (d -> data.add (new Object[] { d }));
        return data.iterator ();
    }
    
    @Test (dataProvider = "getLoginDataYml")
    public void testYmlDataSource (final Login login) {
        assertWithMessage ("User Name").that (login.getUserName ())
            .isNotEmpty ();
        assertWithMessage ("Password").that (login.getPassword ())
            .isNotEmpty ();
    }
}

Contributors โœจ

Thanks to these wonderful people (emoji key):


Mohammad Faisal Khatri

โš ๏ธ

Wasiq Bhamla

๐Ÿ’ป โš ๏ธ ๐Ÿš‡ ๐Ÿ“– ๐Ÿค” ๐Ÿšง

This project follows the all-contributors specification. Contributions of any kind welcome!

coteafs-datasource's People

Contributors

allcontributors[bot] avatar wasiqb avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.