scenario

package
v0.0.0-...-7f9477d Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2022 License: MIT Imports: 39 Imported by: 0

Documentation

Overview

Code generated by assets/gen.go; DO NOT EDIT.

Index

Constants

View Source
const (

	// StudentCapacityPerCourse は科目あたりの履修定員
	StudentCapacityPerCourse = 50

	// ClassCountPerCourse は科目あたりの講義数 -> same const exist in model/course.go
	ClassCountPerCourse = 5
	// AnnouncePagingStudentInterval はお知らせページングシナリオを開始する人数間隔
	AnnouncePagingStudentInterval = 10
)

Load

View Source
const (
	SearchCourseCountPerPage = 20
	AnnouncementCountPerPage = 20
)
View Source
const (
	RequestDuration = 100
)

Variables

View Source
var (
	// ContestantLogger は競技者に見せてもいい内容を書くロガー
	// ex: エラー内容や最終スコア
	ContestantLogger *log.Logger
	// AdminLogger は運営だけが見れる内容を書くロガー
	// ex: 本番で改善傾向追うための途中スコアやAddErrorしたログ
	AdminLogger *log.Logger
	// DebugLogger デバッグ用で仕込んでいるロガー
	// ex: リクエスト単位で仕込んでいてリクエスト数とか見たければgrepなどで調べる
	DebugLogger *log.Logger
)
View Source
var (
	// Prepare, Load, Validationが返すエラー
	// Benchmarkが中断されたかどうか確認用
	Cancel failure.StringCode = "scenario-cancel"
)

Functions

func AccessTopPageAction

func AccessTopPageAction(ctx context.Context, agent *agent.Agent) (*http.Response, agent.Resources, error)

func AccessTopPageActionWithoutCache

func AccessTopPageActionWithoutCache(ctx context.Context, agent *agent.Agent) (*http.Response, agent.Resources, error)

func AddClassAction

func AddClassAction(ctx context.Context, agent *agent.Agent, course *model.Course, param *model.ClassParam) (*http.Response, api.AddClassResponse, error)

func AddCourseAction

func AddCourseAction(ctx context.Context, agent *agent.Agent, param *model.CourseParam) (*http.Response, api.AddCourseResponse, error)

func AssertEqual

func AssertEqual(msg string, expected interface{}, actual interface{}) bool

func AssertEqualAnnouncementDetail

func AssertEqualAnnouncementDetail(expected *model.AnnouncementStatus, actual *api.GetAnnouncementDetailResponse, verifyUnread bool) error

func AssertEqualAnnouncementListContent

func AssertEqualAnnouncementListContent(expected *model.AnnouncementStatus, actual *api.AnnouncementResponse, verifyUnread bool) error

func AssertEqualClass

func AssertEqualClass(expected *model.Class, actual *api.GetClassResponse, student *model.Student) error

func AssertEqualClassScore

func AssertEqualClassScore(expected *model.ClassScore, actual *api.ClassScore) error

func AssertEqualCourse

func AssertEqualCourse(expected *model.Course, actual *api.GetCourseDetailResponse, verifyStatus bool) error

func AssertEqualCourseResult

func AssertEqualCourseResult(expected *model.CourseResult, actual *api.CourseResult) error

func AssertEqualGrade

func AssertEqualGrade(expected *model.GradeRes, actual *api.GetGradeResponse) error

func AssertEqualRegisteredCourse

func AssertEqualRegisteredCourse(expected *model.Course, actual *api.GetRegisteredCourseResponseContent) error

func AssertEqualSimpleClassScore

func AssertEqualSimpleClassScore(expected *model.SimpleClassScore, actual *api.ClassScore) error

func AssertEqualSummary

func AssertEqualSummary(expected *model.Summary, actual *api.Summary) error

func AssertEqualUserAccount

func AssertEqualUserAccount(expected *model.UserAccount, actual *api.GetMeResponse) error

func AssertGreaterOrEqual

func AssertGreaterOrEqual(msg string, expectMin, actual int) bool

func AssertWithinTolerance

func AssertWithinTolerance(msg string, expect, actual, tolerance float64) bool

func DownloadSubmissionsAction

func DownloadSubmissionsAction(ctx context.Context, agent *agent.Agent, courseID, classID string) (*http.Response, []byte, error)

func GetAnnouncementDetailAction

func GetAnnouncementDetailAction(ctx context.Context, agent *agent.Agent, id string) (*http.Response, api.GetAnnouncementDetailResponse, error)

func GetAnnouncementListAction

func GetAnnouncementListAction(ctx context.Context, agent *agent.Agent, next, courseID string) (*http.Response, api.GetAnnouncementsResponse, error)

func GetClassesAction

func GetClassesAction(ctx context.Context, agent *agent.Agent, courseID string) (*http.Response, []*api.GetClassResponse, error)

func GetCourseDetailAction

func GetCourseDetailAction(ctx context.Context, agent *agent.Agent, id string) (*http.Response, api.GetCourseDetailResponse, error)

func GetGradeAction

func GetGradeAction(ctx context.Context, agent *agent.Agent) (*http.Response, api.GetGradeResponse, error)

func GetMeAction

func GetMeAction(ctx context.Context, agent *agent.Agent) (*http.Response, api.GetMeResponse, error)

func InitializeAction

func InitializeAction(ctx context.Context, agent *agent.Agent) (*http.Response, api.InitializeResponse, error)

func LoginAction

func LoginAction(ctx context.Context, agent *agent.Agent, useraccount *model.UserAccount) (*http.Response, error)

func NewUserPool

func NewUserPool(studentAccounts []*model.UserAccount, teachers []*model.Teacher, baseURL *url.URL) *userPool

func PostGradeAction

func PostGradeAction(ctx context.Context, agent *agent.Agent, courseID, classID string, scores []StudentScore) (*http.Response, error)

func SearchCourseAction

func SearchCourseAction(ctx context.Context, agent *agent.Agent, param *model.SearchCourseParam, nextPathParam string) (*http.Response, []*api.GetCourseDetailResponse, error)

func SendAnnouncementAction

func SendAnnouncementAction(ctx context.Context, agent *agent.Agent, announcement *model.Announcement) (*http.Response, error)

func SetCourseStatusClosedAction

func SetCourseStatusClosedAction(ctx context.Context, agent *agent.Agent, courseID string) (*http.Response, error)

func SetCourseStatusInProgressAction

func SetCourseStatusInProgressAction(ctx context.Context, agent *agent.Agent, courseID string) (*http.Response, error)

func SilenceDebugLog

func SilenceDebugLog()

func SubmitAssignmentAction

func SubmitAssignmentAction(ctx context.Context, agent *agent.Agent, courseID, classID string, title string, data []byte) (*http.Response, error)

func TakeCoursesAction

func TakeCoursesAction(ctx context.Context, agent *agent.Agent, courses []*model.Course) (*http.Response, api.RegisterCoursesErrorResponse, error)

Types

type Config

type Config struct {
	BaseURL             *url.URL
	UseTLS              bool
	NoLoad              bool
	NoPrepare           bool
	NoVerifyResource    bool
	IsDebug             bool
	NoValidationTimeout bool
}

type DebugData

type DebugData struct {
	// contains filtered or unexported fields
}

func NewDebugData

func NewDebugData(isDebug bool) *DebugData

func (*DebugData) AddInt

func (d *DebugData) AddInt(key string, data int64)

type Scenario

type Scenario struct {
	Config
	CapacityCounter *model.CapacityCounter
	CourseManager   *model.CourseManager
	// contains filtered or unexported fields
}

func NewScenario

func NewScenario(config *Config) *Scenario

func (*Scenario) ActiveStudentCount

func (s *Scenario) ActiveStudentCount() int

func (*Scenario) ActiveStudents

func (s *Scenario) ActiveStudents() []*model.Student

func (*Scenario) AddActiveStudent

func (s *Scenario) AddActiveStudent(student *model.Student)

func (*Scenario) AddGradeTimeoutCount

func (s *Scenario) AddGradeTimeoutCount()

func (*Scenario) Language

func (s *Scenario) Language() string

func (*Scenario) Load

func (s *Scenario) Load(parent context.Context, step *isucandar.BenchmarkStep) error

func (*Scenario) Prepare

func (s *Scenario) Prepare(ctx context.Context, step *isucandar.BenchmarkStep) error

func (*Scenario) Reset

func (s *Scenario) Reset()

func (*Scenario) ResetGradeTimeoutCount

func (s *Scenario) ResetGradeTimeoutCount() int64

func (*Scenario) Validation

func (s *Scenario) Validation(ctx context.Context, step *isucandar.BenchmarkStep) error

type StudentScore

type StudentScore struct {
	// contains filtered or unexported fields
}

これここじゃないほうがいいかも知れない

Jump to

Keyboard shortcuts

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