| 1627 | } |
| 1628 | |
| 1629 | func WorkspaceAgentStat(t testing.TB, db database.Store, orig database.WorkspaceAgentStat) database.WorkspaceAgentStat { |
| 1630 | if orig.ConnectionsByProto == nil { |
| 1631 | orig.ConnectionsByProto = json.RawMessage([]byte("{}")) |
| 1632 | } |
| 1633 | jsonProto := []byte(fmt.Sprintf("[%s]", orig.ConnectionsByProto)) |
| 1634 | |
| 1635 | params := database.InsertWorkspaceAgentStatsParams{ |
| 1636 | ID: []uuid.UUID{takeFirst(orig.ID, uuid.New())}, |
| 1637 | CreatedAt: []time.Time{takeFirst(orig.CreatedAt, dbtime.Now())}, |
| 1638 | UserID: []uuid.UUID{takeFirst(orig.UserID, uuid.New())}, |
| 1639 | TemplateID: []uuid.UUID{takeFirst(orig.TemplateID, uuid.New())}, |
| 1640 | WorkspaceID: []uuid.UUID{takeFirst(orig.WorkspaceID, uuid.New())}, |
| 1641 | AgentID: []uuid.UUID{takeFirst(orig.AgentID, uuid.New())}, |
| 1642 | ConnectionsByProto: jsonProto, |
| 1643 | ConnectionCount: []int64{takeFirst(orig.ConnectionCount, 0)}, |
| 1644 | RxPackets: []int64{takeFirst(orig.RxPackets, 0)}, |
| 1645 | RxBytes: []int64{takeFirst(orig.RxBytes, 0)}, |
| 1646 | TxPackets: []int64{takeFirst(orig.TxPackets, 0)}, |
| 1647 | TxBytes: []int64{takeFirst(orig.TxBytes, 0)}, |
| 1648 | SessionCountVSCode: []int64{takeFirst(orig.SessionCountVSCode, 0)}, |
| 1649 | SessionCountJetBrains: []int64{takeFirst(orig.SessionCountJetBrains, 0)}, |
| 1650 | SessionCountReconnectingPTY: []int64{takeFirst(orig.SessionCountReconnectingPTY, 0)}, |
| 1651 | SessionCountSSH: []int64{takeFirst(orig.SessionCountSSH, 0)}, |
| 1652 | ConnectionMedianLatencyMS: []float64{takeFirst(orig.ConnectionMedianLatencyMS, 0)}, |
| 1653 | Usage: []bool{takeFirst(orig.Usage, false)}, |
| 1654 | } |
| 1655 | err := db.InsertWorkspaceAgentStats(genCtx, params) |
| 1656 | require.NoError(t, err, "insert workspace agent stat") |
| 1657 | |
| 1658 | return database.WorkspaceAgentStat{ |
| 1659 | ID: params.ID[0], |
| 1660 | CreatedAt: params.CreatedAt[0], |
| 1661 | UserID: params.UserID[0], |
| 1662 | AgentID: params.AgentID[0], |
| 1663 | WorkspaceID: params.WorkspaceID[0], |
| 1664 | TemplateID: params.TemplateID[0], |
| 1665 | ConnectionsByProto: orig.ConnectionsByProto, |
| 1666 | ConnectionCount: params.ConnectionCount[0], |
| 1667 | RxPackets: params.RxPackets[0], |
| 1668 | RxBytes: params.RxBytes[0], |
| 1669 | TxPackets: params.TxPackets[0], |
| 1670 | TxBytes: params.TxBytes[0], |
| 1671 | ConnectionMedianLatencyMS: params.ConnectionMedianLatencyMS[0], |
| 1672 | SessionCountVSCode: params.SessionCountVSCode[0], |
| 1673 | SessionCountJetBrains: params.SessionCountJetBrains[0], |
| 1674 | SessionCountReconnectingPTY: params.SessionCountReconnectingPTY[0], |
| 1675 | SessionCountSSH: params.SessionCountSSH[0], |
| 1676 | Usage: params.Usage[0], |
| 1677 | } |
| 1678 | } |
| 1679 | |
| 1680 | func OAuth2ProviderApp(t testing.TB, db database.Store, seed database.OAuth2ProviderApp) database.OAuth2ProviderApp { |
| 1681 | app, err := db.InsertOAuth2ProviderApp(genCtx, database.InsertOAuth2ProviderAppParams{ |