 2457f5ff22
			
		
	
	
	2457f5ff22
	
	
	
		
			
			- Massive replacement of changing `code.gitea.io/gitea` to `forgejo.org`. - Resolves forgejo/discussions#258 Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7337 Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org> Reviewed-by: Michael Kriese <michael.kriese@gmx.de> Reviewed-by: Beowulf <beowulf@beocode.eu> Reviewed-by: Panagiotis "Ivory" Vasilopoulos <git@n0toose.net> Co-authored-by: Gusted <postmaster@gusted.xyz> Co-committed-by: Gusted <postmaster@gusted.xyz>
		
			
				
	
	
		
			90 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2022 The Gitea Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package actions
 | |
| 
 | |
| import (
 | |
| 	"math"
 | |
| 	"testing"
 | |
| 	"time"
 | |
| 
 | |
| 	"forgejo.org/modules/timeutil"
 | |
| 
 | |
| 	"github.com/stretchr/testify/assert"
 | |
| 	"github.com/stretchr/testify/require"
 | |
| )
 | |
| 
 | |
| func TestLogIndexes_ToDB(t *testing.T) {
 | |
| 	tests := []struct {
 | |
| 		indexes LogIndexes
 | |
| 	}{
 | |
| 		{
 | |
| 			indexes: []int64{1, 2, 0, -1, -2, math.MaxInt64, math.MinInt64},
 | |
| 		},
 | |
| 	}
 | |
| 	for _, tt := range tests {
 | |
| 		t.Run("", func(t *testing.T) {
 | |
| 			got, err := tt.indexes.ToDB()
 | |
| 			require.NoError(t, err)
 | |
| 
 | |
| 			indexes := LogIndexes{}
 | |
| 			require.NoError(t, indexes.FromDB(got))
 | |
| 
 | |
| 			assert.Equal(t, tt.indexes, indexes)
 | |
| 		})
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func Test_calculateDuration(t *testing.T) {
 | |
| 	oldTimeSince := timeSince
 | |
| 	defer func() {
 | |
| 		timeSince = oldTimeSince
 | |
| 	}()
 | |
| 
 | |
| 	timeSince = func(t time.Time) time.Duration {
 | |
| 		return timeutil.TimeStamp(1000).AsTime().Sub(t)
 | |
| 	}
 | |
| 	type args struct {
 | |
| 		started timeutil.TimeStamp
 | |
| 		stopped timeutil.TimeStamp
 | |
| 		status  Status
 | |
| 	}
 | |
| 	tests := []struct {
 | |
| 		name string
 | |
| 		args args
 | |
| 		want time.Duration
 | |
| 	}{
 | |
| 		{
 | |
| 			name: "unknown",
 | |
| 			args: args{
 | |
| 				started: 0,
 | |
| 				stopped: 0,
 | |
| 				status:  StatusUnknown,
 | |
| 			},
 | |
| 			want: 0,
 | |
| 		},
 | |
| 		{
 | |
| 			name: "running",
 | |
| 			args: args{
 | |
| 				started: 500,
 | |
| 				stopped: 0,
 | |
| 				status:  StatusRunning,
 | |
| 			},
 | |
| 			want: 500 * time.Second,
 | |
| 		},
 | |
| 		{
 | |
| 			name: "done",
 | |
| 			args: args{
 | |
| 				started: 500,
 | |
| 				stopped: 600,
 | |
| 				status:  StatusSuccess,
 | |
| 			},
 | |
| 			want: 100 * time.Second,
 | |
| 		},
 | |
| 	}
 | |
| 	for _, tt := range tests {
 | |
| 		t.Run(tt.name, func(t *testing.T) {
 | |
| 			assert.Equalf(t, tt.want, calculateDuration(tt.args.started, tt.args.stopped, tt.args.status), "calculateDuration(%v, %v, %v)", tt.args.started, tt.args.stopped, tt.args.status)
 | |
| 		})
 | |
| 	}
 | |
| }
 |