github.com/apache/beam/sdks/v2@v2.48.2/go/test/regression/coders/fromyaml/fromyaml_test.go (about) 1 // Licensed to the Apache Software Foundation (ASF) under one or more 2 // contributor license agreements. See the NOTICE file distributed with 3 // this work for additional information regarding copyright ownership. 4 // The ASF licenses this file to You under the Apache License, Version 2.0 5 // (the "License"); you may not use this file except in compliance with 6 // the License. You may obtain a copy of the License at 7 // 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 16 package main 17 18 import ( 19 "bytes" 20 "log" 21 "os" 22 "testing" 23 24 yaml "gopkg.in/yaml.v2" 25 ) 26 27 func TestStandardCoders(t *testing.T) { 28 data, err := os.ReadFile(yamlPath) 29 if err != nil { 30 log.Fatalf("Couldn't read %v: %v", yamlPath, err) 31 } 32 specs := bytes.Split(data, []byte("\n---\n")) 33 var l logLogger 34 for _, data := range specs { 35 cs := Spec{Log: t} 36 if err := yaml.Unmarshal(data, &cs); err != nil { 37 l.Logf("unable to parse yaml: %v %q", err, data) 38 continue 39 } 40 t.Run(cs.Coder.Urn, func(t *testing.T) { 41 if err := cs.testStandardCoder(); err != nil { 42 t.Errorf("Failed \"%v\": %v", cs.Coder, err) 43 } 44 }) 45 } 46 47 }