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  }