parent
							
								
									f987571b64
								
							
						
					
					
						commit
						d18884a0b9
					
				|  | @ -149,13 +149,7 @@ func (r *HorizontalRunnerAutoscalerReconciler) Reconcile(req ctrl.Request) (ctrl | ||||||
| 			updated = hra.DeepCopy() | 			updated = hra.DeepCopy() | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		var cacheEntries []v1alpha1.CacheEntry | 		cacheEntries := getValidCacheEntries(updated, now) | ||||||
| 
 |  | ||||||
| 		for _, ent := range updated.Status.CacheEntries { |  | ||||||
| 			if ent.ExpirationTime.Before(&metav1.Time{Time: now}) { |  | ||||||
| 				cacheEntries = append(cacheEntries, ent) |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 
 | 
 | ||||||
| 		var cacheDuration time.Duration | 		var cacheDuration time.Duration | ||||||
| 
 | 
 | ||||||
|  | @ -183,6 +177,18 @@ func (r *HorizontalRunnerAutoscalerReconciler) Reconcile(req ctrl.Request) (ctrl | ||||||
| 	return ctrl.Result{}, nil | 	return ctrl.Result{}, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | func getValidCacheEntries(hra *v1alpha1.HorizontalRunnerAutoscaler, now time.Time) []v1alpha1.CacheEntry { | ||||||
|  | 	var cacheEntries []v1alpha1.CacheEntry | ||||||
|  | 
 | ||||||
|  | 	for _, ent := range hra.Status.CacheEntries { | ||||||
|  | 		if ent.ExpirationTime.After(now) { | ||||||
|  | 			cacheEntries = append(cacheEntries, ent) | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return cacheEntries | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func (r *HorizontalRunnerAutoscalerReconciler) SetupWithManager(mgr ctrl.Manager) error { | func (r *HorizontalRunnerAutoscalerReconciler) SetupWithManager(mgr ctrl.Manager) error { | ||||||
| 	name := "horizontalrunnerautoscaler-controller" | 	name := "horizontalrunnerautoscaler-controller" | ||||||
| 	if r.Name != "" { | 	if r.Name != "" { | ||||||
|  |  | ||||||
|  | @ -0,0 +1,49 @@ | ||||||
|  | package controllers | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"github.com/google/go-cmp/cmp" | ||||||
|  | 	actionsv1alpha1 "github.com/summerwind/actions-runner-controller/api/v1alpha1" | ||||||
|  | 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||||
|  | 	"testing" | ||||||
|  | 	"time" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | func TestGetValidCacheEntries(t *testing.T) { | ||||||
|  | 	now := time.Now() | ||||||
|  | 
 | ||||||
|  | 	hra := &actionsv1alpha1.HorizontalRunnerAutoscaler{ | ||||||
|  | 		Status: actionsv1alpha1.HorizontalRunnerAutoscalerStatus{ | ||||||
|  | 			CacheEntries: []actionsv1alpha1.CacheEntry{ | ||||||
|  | 				{ | ||||||
|  | 					Key:            "foo", | ||||||
|  | 					Value:          1, | ||||||
|  | 					ExpirationTime: metav1.Time{Time: now.Add(-time.Second)}, | ||||||
|  | 				}, | ||||||
|  | 				{ | ||||||
|  | 					Key:            "foo", | ||||||
|  | 					Value:          2, | ||||||
|  | 					ExpirationTime: metav1.Time{Time: now}, | ||||||
|  | 				}, | ||||||
|  | 				{ | ||||||
|  | 					Key:            "foo", | ||||||
|  | 					Value:          3, | ||||||
|  | 					ExpirationTime: metav1.Time{Time: now.Add(time.Second)}, | ||||||
|  | 				}, | ||||||
|  | 			}, | ||||||
|  | 		}, | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	revs := getValidCacheEntries(hra, now) | ||||||
|  | 
 | ||||||
|  | 	counts := map[string]int{} | ||||||
|  | 
 | ||||||
|  | 	for _, r := range revs { | ||||||
|  | 		counts[r.Key] += r.Value | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	want := map[string]int{"foo": 3} | ||||||
|  | 
 | ||||||
|  | 	if d := cmp.Diff(want, counts); d != "" { | ||||||
|  | 		t.Errorf("%s", d) | ||||||
|  | 	} | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue