read

package module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2024 License: Apache-2.0 Imports: 2 Imported by: 0

README

xk6-read

k6 extension for reading files and directories, implemented using the xk6 system.
Inspired in the writing files k6 extension.

Build

xk6 build v0.45.0 --with github.com/acuenca-facephi/xk6-read@latest
Local build
xk6 build v0.45.0 --with github.com/acuenca-facephi/xk6-read="/mnt/c/projects/other/xk6-read"

Example

import read from 'k6/x/read'; 

// change file/directory paths
const FILE_PATH = '/mnt/c/projects/other/test-directory/textOutput2.txt';
const DIRECTORY_PATH = '/mnt/c/projects/other/test-directory';

function readFile(file) {
    console.log(file.path + ': ' + file.content);
}

function readDirectory(directory) {
    console.log('directory :' + directory.path);
    for (let i = 0; i < directory.content.length; i++) {
        const item = directory.content[i];
        if (Array.isArray(item.content)) readDirectory(item);
        else readFile(item);
    }
}

export default function () {
    let file = read.readFile(FILE_PATH);
    //console.log(JSON.stringify(file));
    readFile(file);

    let directory = read.readDirectory(DIRECTORY_PATH);
    //console.log(JSON.stringify(directory));
    readDirectory(directory);
}

Run example script

./k6 run examples/example-script.js

Docker

Build
docker build -t adriancuenca/xk6-read:v1.0.0-rc1 .
# or
docker build --build-arg XK6_EXTENSIONS="--with github.com/grafana/xk6-output-influxdb" -t adriancuenca/xk6-read:v1.0.0-rc1 .
Run
docker run -v "/path/to/scripts:/scripts" \
-it --rm adriancuenca/xk6-read:v1.0.0-rc1 \
run /scripts/enroll_thousand_faces-xk6.js

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Directory

type Directory struct {
	Item
	Path    string
	Content []Item
}

Directory is the extension directory representation

func (*Directory) GetContent

func (d *Directory) GetContent() any

func (*Directory) GetPath

func (d *Directory) GetPath() string

type File

type File struct {
	Item
	Path    string
	Content string
	Binary  []byte
}

File is the extension file representation

func (*File) GetContent

func (f *File) GetContent() any

func (*File) GetPath

func (f *File) GetPath() string

type Item

type Item interface {
	GetPath() string
	GetContent() any
}

Item is the extension file system item representation (file or directory).

type READ

type READ struct{}

READ is the k6 extension

func (*READ) ReadBinaryFile

func (*READ) ReadBinaryFile(path string) (File, error)

func (*READ) ReadDirectory

func (r *READ) ReadDirectory(path string) (Directory, error)

func (*READ) ReadFile

func (*READ) ReadFile(path string) (File, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL