You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: secret_test.go
    path of file: ./repos/iam/internal/apiserver/service/v1
    
    the code of the file until where you have to start completion: // Copyright 2020 Lingfei Kong <colin404@foxmail.com>. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

package v1

import (
	"context"
	reflect "reflect"
	"testing"

	gomock "github.com/golang/mock/gomock"
	v1 "github.com/marmotedu/api/apiserver/v1"
	metav1 "github.com/marmotedu/component-base/pkg/meta/v1"

	"github.com/marmotedu/iam/internal/apiserver/store"
)

func (s *Suite) Test_secretService_Create() {
	s.mockSecretStore.EXPECT().Create(gomock.Any(), gomock.Eq(s.secrets[0]), gomock.Any()).Return(nil)
	type fields struct {
		store store.Factory
	}
	type args struct {
		ctx    context.Context
		secret *v1.Secret
		opts   metav1.CreateOptions
	}
	tests
    
func (s *Suite) Test_secretService_Delete() {
	s.mockSecretStore.EXPECT().Delete(gomock.Any(), gomock.Eq("admin"), "secret0", gomock.Any()).Return(nil)

	type fields struct {
		store store.Factory
	}
	type args struct {
		ctx      context.Context
		username string
		name     string
		opts     metav1.DeleteOptions
	}
	tests := []struct {
		name    string
		fields  fields
		args    args
		wantErr bool
	}{
		{
			name: "default",
			fields: fields{
				store: s.mockFactory,
			},
			args: args{
				ctx:      context.TODO(),
				username: "admin",
				name:     "secret0",
				opts:     metav1.DeleteOptions{},
			},
			wantErr: false,
		},
	}
	for _, tt := range tests {
		s.T().Run(tt.name, func(t *testing.T) {
			s := &secretService{
				store: tt.fields.store,
			}
			if err := s.Delete(tt.args.ctx, tt.args.username, tt.args.name, tt.args.opts); (err != nil) != tt.wantErr {
				t.Errorf("secretService.Delete() error = %v, wantErr %v", err, tt.wantErr)
			}
		})
	}
}