How to use New method of mockoutput Package

Best K6 code snippet using mockoutput.New

running_output_test.go

Source:running_output_test.go Github

copy

Full Screen

...34 conf := &OutputConfig{35 Filter: Filter{},36 }37 m := &perfOutput{}38 ro := NewRunningOutput("test", m, conf, 1000, 10000)39 for n := 0; n < b.N; n++ {40 ro.AddMetric(testutil.TestMetric(101, "metric1"))41 ro.Write()42 }43}44// Benchmark adding metrics.45func BenchmarkRunningOutputAddWriteEvery100(b *testing.B) {46 conf := &OutputConfig{47 Filter: Filter{},48 }49 m := &perfOutput{}50 ro := NewRunningOutput("test", m, conf, 1000, 10000)51 for n := 0; n < b.N; n++ {52 ro.AddMetric(testutil.TestMetric(101, "metric1"))53 if n%100 == 0 {54 ro.Write()55 }56 }57}58// Benchmark adding metrics.59func BenchmarkRunningOutputAddFailWrites(b *testing.B) {60 conf := &OutputConfig{61 Filter: Filter{},62 }63 m := &perfOutput{}64 m.failWrite = true65 ro := NewRunningOutput("test", m, conf, 1000, 10000)66 for n := 0; n < b.N; n++ {67 ro.AddMetric(testutil.TestMetric(101, "metric1"))68 }69}70// Test that NameDrop filters ger properly applied.71func TestRunningOutput_DropFilter(t *testing.T) {72 conf := &OutputConfig{73 Filter: Filter{74 NameDrop: []string{"metric1", "metric2"},75 },76 }77 assert.NoError(t, conf.Filter.Compile())78 m := &mockOutput{}79 ro := NewRunningOutput("test", m, conf, 1000, 10000)80 for _, metric := range first5 {81 ro.AddMetric(metric)82 }83 for _, metric := range next5 {84 ro.AddMetric(metric)85 }86 assert.Len(t, m.Metrics(), 0)87 err := ro.Write()88 assert.NoError(t, err)89 assert.Len(t, m.Metrics(), 8)90}91// Test that NameDrop filters without a match do nothing.92func TestRunningOutput_PassFilter(t *testing.T) {93 conf := &OutputConfig{94 Filter: Filter{95 NameDrop: []string{"metric1000", "foo*"},96 },97 }98 assert.NoError(t, conf.Filter.Compile())99 m := &mockOutput{}100 ro := NewRunningOutput("test", m, conf, 1000, 10000)101 for _, metric := range first5 {102 ro.AddMetric(metric)103 }104 for _, metric := range next5 {105 ro.AddMetric(metric)106 }107 assert.Len(t, m.Metrics(), 0)108 err := ro.Write()109 assert.NoError(t, err)110 assert.Len(t, m.Metrics(), 10)111}112// Test that tags are properly included113func TestRunningOutput_TagIncludeNoMatch(t *testing.T) {114 conf := &OutputConfig{115 Filter: Filter{116 TagInclude: []string{"nothing*"},117 },118 }119 assert.NoError(t, conf.Filter.Compile())120 m := &mockOutput{}121 ro := NewRunningOutput("test", m, conf, 1000, 10000)122 ro.AddMetric(testutil.TestMetric(101, "metric1"))123 assert.Len(t, m.Metrics(), 0)124 err := ro.Write()125 assert.NoError(t, err)126 assert.Len(t, m.Metrics(), 1)127 assert.Empty(t, m.Metrics()[0].Tags())128}129// Test that tags are properly excluded130func TestRunningOutput_TagExcludeMatch(t *testing.T) {131 conf := &OutputConfig{132 Filter: Filter{133 TagExclude: []string{"tag*"},134 },135 }136 assert.NoError(t, conf.Filter.Compile())137 m := &mockOutput{}138 ro := NewRunningOutput("test", m, conf, 1000, 10000)139 ro.AddMetric(testutil.TestMetric(101, "metric1"))140 assert.Len(t, m.Metrics(), 0)141 err := ro.Write()142 assert.NoError(t, err)143 assert.Len(t, m.Metrics(), 1)144 assert.Len(t, m.Metrics()[0].Tags(), 0)145}146// Test that tags are properly Excluded147func TestRunningOutput_TagExcludeNoMatch(t *testing.T) {148 conf := &OutputConfig{149 Filter: Filter{150 TagExclude: []string{"nothing*"},151 },152 }153 assert.NoError(t, conf.Filter.Compile())154 m := &mockOutput{}155 ro := NewRunningOutput("test", m, conf, 1000, 10000)156 ro.AddMetric(testutil.TestMetric(101, "metric1"))157 assert.Len(t, m.Metrics(), 0)158 err := ro.Write()159 assert.NoError(t, err)160 assert.Len(t, m.Metrics(), 1)161 assert.Len(t, m.Metrics()[0].Tags(), 1)162}163// Test that tags are properly included164func TestRunningOutput_TagIncludeMatch(t *testing.T) {165 conf := &OutputConfig{166 Filter: Filter{167 TagInclude: []string{"tag*"},168 },169 }170 assert.NoError(t, conf.Filter.Compile())171 m := &mockOutput{}172 ro := NewRunningOutput("test", m, conf, 1000, 10000)173 ro.AddMetric(testutil.TestMetric(101, "metric1"))174 assert.Len(t, m.Metrics(), 0)175 err := ro.Write()176 assert.NoError(t, err)177 assert.Len(t, m.Metrics(), 1)178 assert.Len(t, m.Metrics()[0].Tags(), 1)179}180// Test that we can write metrics with simple default setup.181func TestRunningOutputDefault(t *testing.T) {182 conf := &OutputConfig{183 Filter: Filter{},184 }185 m := &mockOutput{}186 ro := NewRunningOutput("test", m, conf, 1000, 10000)187 for _, metric := range first5 {188 ro.AddMetric(metric)189 }190 for _, metric := range next5 {191 ro.AddMetric(metric)192 }193 assert.Len(t, m.Metrics(), 0)194 err := ro.Write()195 assert.NoError(t, err)196 assert.Len(t, m.Metrics(), 10)197}198func TestRunningOutputWriteFail(t *testing.T) {199 conf := &OutputConfig{200 Filter: Filter{},201 }202 m := &mockOutput{}203 m.failWrite = true204 ro := NewRunningOutput("test", m, conf, 4, 12)205 // Fill buffer to limit twice206 for _, metric := range first5 {207 ro.AddMetric(metric)208 }209 for _, metric := range next5 {210 ro.AddMetric(metric)211 }212 // no successful flush yet213 assert.Len(t, m.Metrics(), 0)214 // manual write fails215 err := ro.Write()216 require.Error(t, err)217 // no successful flush yet218 assert.Len(t, m.Metrics(), 0)219 m.failWrite = false220 err = ro.Write()221 require.NoError(t, err)222 assert.Len(t, m.Metrics(), 10)223}224// Verify that the order of points is preserved during a write failure.225func TestRunningOutputWriteFailOrder(t *testing.T) {226 conf := &OutputConfig{227 Filter: Filter{},228 }229 m := &mockOutput{}230 m.failWrite = true231 ro := NewRunningOutput("test", m, conf, 100, 1000)232 // add 5 metrics233 for _, metric := range first5 {234 ro.AddMetric(metric)235 }236 // no successful flush yet237 assert.Len(t, m.Metrics(), 0)238 // Write fails239 err := ro.Write()240 require.Error(t, err)241 // no successful flush yet242 assert.Len(t, m.Metrics(), 0)243 m.failWrite = false244 // add 5 more metrics245 for _, metric := range next5 {246 ro.AddMetric(metric)247 }248 err = ro.Write()249 require.NoError(t, err)250 // Verify that 10 metrics were written251 assert.Len(t, m.Metrics(), 10)252 // Verify that they are in order253 expected := append(reverse(next5), reverse(first5)...)254 assert.Equal(t, expected, m.Metrics())255}256// Verify that the order of points is preserved during many write failures.257func TestRunningOutputWriteFailOrder2(t *testing.T) {258 conf := &OutputConfig{259 Filter: Filter{},260 }261 m := &mockOutput{}262 m.failWrite = true263 ro := NewRunningOutput("test", m, conf, 5, 100)264 // add 5 metrics265 for _, metric := range first5 {266 ro.AddMetric(metric)267 }268 // Write fails269 err := ro.Write()270 require.Error(t, err)271 // no successful flush yet272 assert.Len(t, m.Metrics(), 0)273 // add 5 metrics274 for _, metric := range next5 {275 ro.AddMetric(metric)276 }277 // Write fails278 err = ro.Write()279 require.Error(t, err)280 // no successful flush yet281 assert.Len(t, m.Metrics(), 0)282 // add 5 metrics283 for _, metric := range first5 {284 ro.AddMetric(metric)285 }286 // Write fails287 err = ro.Write()288 require.Error(t, err)289 // no successful flush yet290 assert.Len(t, m.Metrics(), 0)291 // add 5 metrics292 for _, metric := range next5 {293 ro.AddMetric(metric)294 }295 // Write fails296 err = ro.Write()297 require.Error(t, err)298 // no successful flush yet299 assert.Len(t, m.Metrics(), 0)300 m.failWrite = false301 err = ro.Write()302 require.NoError(t, err)303 // Verify that 20 metrics were written304 assert.Len(t, m.Metrics(), 20)305 // Verify that they are in order306 expected := append(reverse(next5), reverse(first5)...)307 expected = append(expected, reverse(next5)...)308 expected = append(expected, reverse(first5)...)309 assert.Equal(t, expected, m.Metrics())310}311// Verify that the order of points is preserved when there is a remainder312// of points for the batch.313func TestRunningOutputWriteFailOrder3(t *testing.T) {314 conf := &OutputConfig{315 Filter: Filter{},316 }317 m := &mockOutput{}318 m.failWrite = true319 ro := NewRunningOutput("test", m, conf, 5, 1000)320 // add 5 metrics321 for _, metric := range first5 {322 ro.AddMetric(metric)323 }324 // no successful flush yet325 assert.Len(t, m.Metrics(), 0)326 // Write fails327 err := ro.Write()328 require.Error(t, err)329 // no successful flush yet330 assert.Len(t, m.Metrics(), 0)331 // add and attempt to write a single metric:332 ro.AddMetric(next5[0])333 err = ro.Write()...

Full Screen

Full Screen

account_test.go

Source:account_test.go Github

copy

Full Screen

...13 acc account.Account14}15func (p *MockDb) Get(login string) (account.Account, error) {16 if p.getError {17 return account.Account{}, errors.New("Get mock error")18 }19 return p.acc, nil20}21func (p *MockDb) Save(acc account.Account) error {22 if p.saveError {23 return errors.New("Save mock error")24 }25 p.acc = acc26 return nil27}28type MockOutput struct {29 acc AccountDTO30 login LoginDTO31}32func (out *MockOutput) CreateAccountResponse(acc AccountDTO) {33 out.acc = acc34}35func (out *MockOutput) LoginResponse(login LoginDTO) {36 out.login = login37}38func TestCreateAccount(t *testing.T) {39 assert := assert.New(t)40 username := "username"41 db := &MockDb{}42 out := &MockOutput{}43 useCase := New(db)44 err := useCase.CreateAccount(out, username, "password")45 assert.Nilf(err, "unexpected error %v", err)46 assert.Equal(username, db.acc.Login, "persisted account equal")47 assert.NotEmpty(db.acc.PasswordHash, "persisted account must have a password hash")48 assert.NotEmpty(out.acc.Id, "output id must not be empty")49 assert.Equal(username, out.acc.Login, "output login must be equal")50}51func TestCreateAccount_SaveError(t *testing.T) {52 assert := assert.New(t)53 db := &MockDb{saveError: true}54 out := &MockOutput{}55 useCase := New(db)56 err := useCase.CreateAccount(out, "username", "password")57 var e *ucerror.Error58 if assert.ErrorAs(err, &e, "use case error") {59 assert.Equal(e.Code, ucerror.GenericError, "use case error code")60 }61}62func TestLogin(t *testing.T) {63 assert := assert.New(t)64 username := "username"65 password := "password"66 acc, _ := account.New(username, password)67 db := &MockDb{acc: acc}68 out := &MockOutput{}69 useCase := New(db)70 err := useCase.Login(out, username, password)71 assert.Nilf(err, "unexpected error %v", err)72 assert.Equal(username, out.login.Login)73 assert.NotEmpty(out.login.Id, "id must not be empty")74 assert.NotEmpty(out.login.Token, "token must not be empty")75 assert.LessOrEqual(time.Now().Add(30*time.Minute).Unix(), out.login.ExpiresAt, "token must expire at least in 30 minutes")76 assert.GreaterOrEqual(time.Now().Add(120*time.Minute).Unix(), out.login.ExpiresAt, "token must not be valid for more than 2 hours")77}78func TestLogin_IncorrectUsername(t *testing.T) {79 assert := assert.New(t)80 db := &MockDb{getError: true}81 out := &MockOutput{}82 useCase := New(db)83 err := useCase.Login(out, "username", "password")84 var e *ucerror.Error85 if assert.ErrorAs(err, &e, "use case error") {86 assert.Equal(ucerror.IncorrectUsername, e.Code)87 }88}89func TestLogin_IncorrectPassword(t *testing.T) {90 assert := assert.New(t)91 username := "username"92 password := "password"93 acc, _ := account.New(username, password)94 db := &MockDb{acc: acc}95 out := &MockOutput{}96 useCase := New(db)97 err := useCase.Login(out, username, "another-password")98 var e *ucerror.Error99 if assert.ErrorAs(err, &e, "use case error") {100 assert.Equal(ucerror.IncorrectPassword, e.Code)101 }102}103func TestCreateAccountAndLogin(t *testing.T) {104 assert := assert.New(t)105 username := "username"106 password := "password"107 db := &MockDb{}108 useCase := New(db)109 outCreate := &MockOutput{}110 createError := useCase.CreateAccount(outCreate, username, password)111 assert.Nilf(createError, "unexpected error %v", createError)112 outLogin := &MockOutput{}113 loginError := useCase.Login(outLogin, username, password)114 assert.Nilf(loginError, "unexpected error %v", loginError)115}...

Full Screen

Full Screen

New

Using AI Code Generation

copy

Full Screen

1func main() {2 mockoutput := mockoutput.New()3}4func main() {5 mockoutput := mockoutput.New()6}7func main() {8 mockoutput := mockoutput.New()9}10func main() {11 mockoutput := mockoutput.New()12}13func main() {14 mockoutput := mockoutput.New()15}16func main() {17 mockoutput := mockoutput.New()18}19func main() {20 mockoutput := mockoutput.New()21}22func main() {23 mockoutput := mockoutput.New()24}25func main() {26 mockoutput := mockoutput.New()27}28func main() {29 mockoutput := mockoutput.New()30}31func main() {32 mockoutput := mockoutput.New()33}34func main() {35 mockoutput := mockoutput.New()36}37func main() {38 mockoutput := mockoutput.New()39}

Full Screen

Full Screen

New

Using AI Code Generation

copy

Full Screen

1import (2func TestNew(t *testing.T) {3 ctrl := gomock.NewController(t)4 defer ctrl.Finish()5 mockOutput := NewMockOutput(ctrl)6 mockOutput.EXPECT().Write(gomock.Any()).Return(nil).Times(1)7 fmt.Println("Hello, world.")8}

Full Screen

Full Screen

New

Using AI Code Generation

copy

Full Screen

1import (2type Output interface {3 Write([]byte) error4}5type mockoutput struct {6}7func (m *mockoutput) Write(p []byte) error {8 fmt.Println("Mock output")9}10func New() Output {11 return &mockoutput{}12}13func main() {14 o := New()15 o.Write([]byte("Hello"))16}17import (18type Output interface {19 Write([]byte) error20}21type mockoutput struct {22}23func (m *mockoutput) Write(p []byte) error {24 fmt.Println("Mock output")25}26func New() Output {27 return &mockoutput{}28}29func main() {30 o := New()31 o.Write([]byte("Hello"))32}33import (34type Output interface {35 Write([]byte) error36}37type mockoutput struct {38}39func (m *mockoutput) Write(p []byte) error {40 fmt.Println("Mock output")41}42func New() Output {43 return &mockoutput{}44}45func main() {46 o := New()47 o.Write([]byte("Hello"))48}49import (50type Output interface {51 Write([]byte) error52}53type mockoutput struct {54}55func (m *mockoutput) Write(p []byte) error {56 fmt.Println("Mock output")57}58func New() Output {59 return &mockoutput{}60}61func main() {62 o := New()63 o.Write([]byte("Hello"))64}65import (66type Output interface {67 Write([]byte) error68}69type mockoutput struct {70}71func (m *mockoutput) Write(p []byte) error {72 fmt.Println("Mock output")73}74func New() Output {75 return &mockoutput{}76}77func main() {78 o := New()79 o.Write([]byte("Hello"))80}81import (82type Output interface {83 Write([]byte) error84}

Full Screen

Full Screen

New

Using AI Code Generation

copy

Full Screen

1import "fmt"2func main() {3 a = New()4 a.Print("Hello World")5}6import "fmt"7func main() {8 a = New()9 a.Print("Hello World")10}11import "fmt"12func main() {13 a = New()14 a.Print("Hello World")15}16import "fmt"17func main() {18 a = New()19 a.Print("Hello World")20}21import "fmt"22func main() {23 a = New()24 a.Print("Hello World")25}26import "fmt"27func main() {28 a = New()29 a.Print("Hello World")30}31import "fmt"32func main() {33 a = New()34 a.Print("Hello World")35}36import "fmt"37func main() {38 a = New()39 a.Print("Hello World")40}41import "fmt"42func main() {43 a = New()44 a.Print("Hello World")45}46import "fmt"47func main() {48 a = New()49 a.Print("Hello World")50}51import "fmt"52func main() {

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run K6 automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful