github.com/web-platform-tests/wpt.fyi@v0.0.0-20240530210107-70cf978996f1/shared/fetch_bsf_test.go (about) 1 // +build small 2 // Copyright 2020 The WPT Dashboard Project. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 6 package shared 7 8 import ( 9 "testing" 10 "time" 11 12 "github.com/stretchr/testify/assert" 13 ) 14 15 func TestFilterandExtractBSFData_WithoutFilter(t *testing.T) { 16 var rawBSFData [][]string 17 fieldsRow := []string{"sha", "date", "chrome-version", "chrome", "firefox-version", "firefox", "safari-version", "safari"} 18 dataRow := []string{"1", "2018-08-18", "70.0.3521.2 dev", "605.3869030161061", "63.0a1", "1521.908686731921", "12.1", "2966.686195133767"} 19 rawBSFData = append(rawBSFData, fieldsRow) 20 rawBSFData = append(rawBSFData, dataRow) 21 22 result := FilterandExtractBSFData(rawBSFData, nil, nil) 23 24 assert.Equal(t, "1", result.LastUpdateRevision) 25 assert.Equal(t, fieldsRow, result.Fields) 26 assert.Equal(t, 1, len(result.Data)) 27 assert.Equal(t, dataRow, result.Data[0]) 28 } 29 30 func TestFilterandExtractBSFData_WithFilter(t *testing.T) { 31 var rawBSFData [][]string 32 fieldsRow := []string{"sha", "date", "chrome-version", "chrome", "firefox-version", "firefox", "safari-version", "safari"} 33 dataRow1 := []string{"1", "2018-03-18", "70.0.3521.2 dev", "605.3869030161061", "63.0a1", "1521.908686731921", "12.1", "2966.686195133767"} 34 dataRow2 := []string{"2", "2018-05-17", "70.0.3521.2 dev", "605.3869030161061", "63.0a1", "1521.908686731921", "12.1", "2966.686195133767"} 35 dataRow3 := []string{"3", "2018-05-19", "70.0.3521.2 dev", "605.3869030161061", "63.0a1", "1521.908686731921", "12.1", "2966.686195133767"} 36 dataRow4 := []string{"4", "2018-11-18", "70.0.3521.2 dev", "605.3869030161061", "63.0a1", "1521.908686731921", "12.1", "2966.686195133767"} 37 rawBSFData = append(rawBSFData, fieldsRow) 38 rawBSFData = append(rawBSFData, dataRow1) 39 rawBSFData = append(rawBSFData, dataRow2) 40 rawBSFData = append(rawBSFData, dataRow3) 41 rawBSFData = append(rawBSFData, dataRow4) 42 from, _ := time.Parse(time.RFC3339, "2018-04-19T00:00:00Z") 43 to, _ := time.Parse(time.RFC3339, "2018-07-19T00:00:00Z") 44 45 result := FilterandExtractBSFData(rawBSFData, &from, &to) 46 47 assert.Equal(t, "3", result.LastUpdateRevision) 48 assert.Equal(t, fieldsRow, result.Fields) 49 assert.Equal(t, 2, len(result.Data)) 50 assert.Equal(t, dataRow2, result.Data[0]) 51 assert.Equal(t, dataRow3, result.Data[1]) 52 } 53 54 func TestFilterandExtractBSFData_EmptyData(t *testing.T) { 55 var rawBSFData [][]string 56 fieldsRow := []string{"sha", "date", "chrome-version", "chrome", "firefox-version", "firefox", "safari-version", "safari"} 57 dataRow1 := []string{"1", "2018-03-18", "70.0.3521.2 dev", "605.3869030161061", "63.0a1", "1521.908686731921", "12.1", "2966.686195133767"} 58 dataRow2 := []string{"2", "2018-05-17", "70.0.3521.2 dev", "605.3869030161061", "63.0a1", "1521.908686731921", "12.1", "2966.686195133767"} 59 dataRow3 := []string{"3", "2018-05-19", "70.0.3521.2 dev", "605.3869030161061", "63.0a1", "1521.908686731921", "12.1", "2966.686195133767"} 60 dataRow4 := []string{"4", "2018-11-18", "70.0.3521.2 dev", "605.3869030161061", "63.0a1", "1521.908686731921", "12.1", "2966.686195133767"} 61 rawBSFData = append(rawBSFData, fieldsRow) 62 rawBSFData = append(rawBSFData, dataRow1) 63 rawBSFData = append(rawBSFData, dataRow2) 64 rawBSFData = append(rawBSFData, dataRow3) 65 rawBSFData = append(rawBSFData, dataRow4) 66 to, _ := time.Parse(time.RFC3339, "2017-07-19T00:00:00Z") 67 68 result := FilterandExtractBSFData(rawBSFData, nil, &to) 69 70 assert.Equal(t, BSFData{}, result) 71 }