)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":28618,"name":"Drew Walters","email":"drewwalters@microsoft.com","username":"drewwalters96"},"change_message_id":"3b54bc1fefaf6e1317e0680f7aa3df51e845ca61","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[#24] Fix airshipctl config get-cluster filtering"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"airshipctl config get-cluster ignores or incrrectly  filters the"},{"line_number":10,"context_line":"search result in multiple use cases. Fixed the get cluster cmd to"},{"line_number":11,"context_line":"require the use of cluster type option, correctly support"},{"line_number":12,"context_line":"searching by cluster type only, and retrieve clusters with"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1fa4df85_6e5a072b","line":9,"range":{"start_line":9,"start_character":41,"end_line":9,"end_character":51},"updated":"2020-05-05 15:20:26.000000000","message":"incorrectly","commit_id":"7d96dbd5486aa46f62df62da986f71ae499c4daa"}],"cmd/config/get_cluster.go":[{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"4328d2f72788f3038f4f4b41f5df71776eed4081","unresolved":false,"context_lines":[{"line_number":47,"context_line":"\t\tRunE: func(cmd *cobra.Command, args []string) error {"},{"line_number":48,"context_line":"\t\t\tif len(args) \u003d\u003d 0 {"},{"line_number":49,"context_line":"\t\t\t\treturn getCluster(o, \"\", cmd.OutOrStdout(), rootSettings.Config())"},{"line_number":50,"context_line":"\t\t\t} else {"},{"line_number":51,"context_line":"\t\t\t\tfor i :\u003d 0; i \u003c len(args); i++ {"},{"line_number":52,"context_line":"\t\t\t\t\terr :\u003d getCluster(o, args[i], cmd.OutOrStdout(), rootSettings.Config())"},{"line_number":53,"context_line":"\t\t\t\t\tif err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":3,"id":"df33271e_e0c40a43","line":50,"range":{"start_line":50,"start_character":3,"end_line":50,"end_character":11},"updated":"2020-04-29 16:32:10.000000000","message":"Remove this else and unindent the rest of the function","commit_id":"377aa5a3581edaa081132ac68e741c4ecaf6d543"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"4328d2f72788f3038f4f4b41f5df71776eed4081","unresolved":false,"context_lines":[{"line_number":48,"context_line":"\t\t\tif len(args) \u003d\u003d 0 {"},{"line_number":49,"context_line":"\t\t\t\treturn getCluster(o, \"\", cmd.OutOrStdout(), rootSettings.Config())"},{"line_number":50,"context_line":"\t\t\t} else {"},{"line_number":51,"context_line":"\t\t\t\tfor i :\u003d 0; i \u003c len(args); i++ {"},{"line_number":52,"context_line":"\t\t\t\t\terr :\u003d getCluster(o, args[i], cmd.OutOrStdout(), rootSettings.Config())"},{"line_number":53,"context_line":"\t\t\t\t\tif err !\u003d nil {"},{"line_number":54,"context_line":"\t\t\t\t\t\treturn err"}],"source_content_type":"text/x-go","patch_set":3,"id":"df33271e_00e12ed1","line":51,"range":{"start_line":51,"start_character":4,"end_line":51,"end_character":36},"updated":"2020-04-29 16:32:10.000000000","message":"for i, arg :\u003d range args {","commit_id":"377aa5a3581edaa081132ac68e741c4ecaf6d543"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"4328d2f72788f3038f4f4b41f5df71776eed4081","unresolved":false,"context_lines":[{"line_number":54,"context_line":"\t\t\t\t\t\treturn err"},{"line_number":55,"context_line":"\t\t\t\t\t}"},{"line_number":56,"context_line":"\t\t\t\t\tif i \u003c len(args)-1 {"},{"line_number":57,"context_line":"\t\t\t\t\t\t_, _ \u003d fmt.Fprint(cmd.OutOrStdout(), \"\\n\")"},{"line_number":58,"context_line":"\t\t\t\t\t}"},{"line_number":59,"context_line":"\t\t\t\t}"},{"line_number":60,"context_line":"\t\t\t\treturn nil"}],"source_content_type":"text/x-go","patch_set":3,"id":"df33271e_c0d626f2","line":57,"range":{"start_line":57,"start_character":6,"end_line":57,"end_character":13},"updated":"2020-04-29 16:32:10.000000000","message":"delete these","commit_id":"377aa5a3581edaa081132ac68e741c4ecaf6d543"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"4328d2f72788f3038f4f4b41f5df71776eed4081","unresolved":false,"context_lines":[{"line_number":57,"context_line":"\t\t\tairconfig :\u003d rootSettings.Config"},{"line_number":58,"context_line":"\t\t\tif len(args) \u003d\u003d 0 {"},{"line_number":59,"context_line":"\t\t\t\treturn getCluster(o, \"\", cmd.OutOrStdout(), airconfig)"},{"line_number":60,"context_line":"\t\t\t} else {"},{"line_number":61,"context_line":"\t\t\t\tfor i :\u003d 0; i \u003c len(args); i++ {"},{"line_number":62,"context_line":"\t\t\t\t\terr :\u003d getCluster(o, args[i], cmd.OutOrStdout(), airconfig)"},{"line_number":63,"context_line":"\t\t\t\t\tif err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":7,"id":"1f493fa4_00951f33","line":60,"range":{"start_line":60,"start_character":3,"end_line":60,"end_character":11},"updated":"2020-04-29 16:32:10.000000000","message":"since the if above this ends in a return, the else block isn\u0027t needed - remove this and unindent the block","commit_id":"fec71edc4f0b7860d4f7b0c14eb9e762d4ae0d7d"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"4328d2f72788f3038f4f4b41f5df71776eed4081","unresolved":false,"context_lines":[{"line_number":58,"context_line":"\t\t\tif len(args) \u003d\u003d 0 {"},{"line_number":59,"context_line":"\t\t\t\treturn getCluster(o, \"\", cmd.OutOrStdout(), airconfig)"},{"line_number":60,"context_line":"\t\t\t} else {"},{"line_number":61,"context_line":"\t\t\t\tfor i :\u003d 0; i \u003c len(args); i++ {"},{"line_number":62,"context_line":"\t\t\t\t\terr :\u003d getCluster(o, args[i], cmd.OutOrStdout(), airconfig)"},{"line_number":63,"context_line":"\t\t\t\t\tif err !\u003d nil {"},{"line_number":64,"context_line":"\t\t\t\t\t\treturn err"}],"source_content_type":"text/x-go","patch_set":7,"id":"1f493fa4_20bbfbc4","line":61,"range":{"start_line":61,"start_character":4,"end_line":61,"end_character":34},"updated":"2020-04-29 16:32:10.000000000","message":"this would be more idiomatic as\n\n  for i, arg :\u003d range args {\n\nand replace `args[i]` with `arg`","commit_id":"fec71edc4f0b7860d4f7b0c14eb9e762d4ae0d7d"},{"author":{"_account_id":24580,"name":"James Gu","email":"james.gu@microsoft.com","username":"jamesgu"},"change_message_id":"e77f7b33c2e280522170113da8c2061141116acb","unresolved":false,"context_lines":[{"line_number":58,"context_line":"\t\t\tif len(args) \u003d\u003d 0 {"},{"line_number":59,"context_line":"\t\t\t\treturn getCluster(o, \"\", cmd.OutOrStdout(), airconfig)"},{"line_number":60,"context_line":"\t\t\t} else {"},{"line_number":61,"context_line":"\t\t\t\tfor i :\u003d 0; i \u003c len(args); i++ {"},{"line_number":62,"context_line":"\t\t\t\t\terr :\u003d getCluster(o, args[i], cmd.OutOrStdout(), airconfig)"},{"line_number":63,"context_line":"\t\t\t\t\tif err !\u003d nil {"},{"line_number":64,"context_line":"\t\t\t\t\t\treturn err"}],"source_content_type":"text/x-go","patch_set":7,"id":"1f493fa4_f53d2fc4","line":61,"range":{"start_line":61,"start_character":4,"end_line":61,"end_character":34},"in_reply_to":"1f493fa4_20bbfbc4","updated":"2020-04-30 22:00:32.000000000","message":"Done","commit_id":"fec71edc4f0b7860d4f7b0c14eb9e762d4ae0d7d"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"4328d2f72788f3038f4f4b41f5df71776eed4081","unresolved":false,"context_lines":[{"line_number":64,"context_line":"\t\t\t\t\t\treturn err"},{"line_number":65,"context_line":"\t\t\t\t\t}"},{"line_number":66,"context_line":"\t\t\t\t\tif i \u003c len(args)-1 {"},{"line_number":67,"context_line":"\t\t\t\t\t\t_, _ \u003d fmt.Fprint(cmd.OutOrStdout(), \"\\n\")"},{"line_number":68,"context_line":"\t\t\t\t\t}"},{"line_number":69,"context_line":"\t\t\t\t}"},{"line_number":70,"context_line":"\t\t\t\treturn nil"}],"source_content_type":"text/x-go","patch_set":7,"id":"1f493fa4_00e35fda","line":67,"range":{"start_line":67,"start_character":6,"end_line":67,"end_character":48},"updated":"2020-04-29 16:32:10.000000000","message":"this line can be simplified to\n\n  fmt.Fprintln(cmd.OutOrStdout())\n\nbut perhaps a better solution would be creating a list of clusters and printing a strings.Join at the end","commit_id":"fec71edc4f0b7860d4f7b0c14eb9e762d4ae0d7d"},{"author":{"_account_id":28618,"name":"Drew Walters","email":"drewwalters@microsoft.com","username":"drewwalters96"},"change_message_id":"3b54bc1fefaf6e1317e0680f7aa3df51e845ca61","unresolved":false,"context_lines":[{"line_number":31,"context_line":"const ("},{"line_number":32,"context_line":"\tgetClusterLong \u003d `"},{"line_number":33,"context_line":"Display specific clusters that match the provided name and type. If no name is provided, all defined clusters will be"},{"line_number":34,"context_line":"returned. The --cluster-type flag is mandatory and its valid values are [ephemeral|target|all]."},{"line_number":35,"context_line":"`"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"\tgetClusterExample \u003d `"}],"source_content_type":"text/x-go","patch_set":8,"id":"1f493fa4_baceaf80","line":34,"range":{"start_line":34,"start_character":10,"end_line":34,"end_character":46},"updated":"2020-05-05 15:20:26.000000000","message":"Is there any reason why we could not default this to all? Arguments tend to be mandatory, and flags tend to have sensible default values.","commit_id":"46d8812ed7c707e51defaaa50d5a256da63c7451"},{"author":{"_account_id":24580,"name":"James Gu","email":"james.gu@microsoft.com","username":"jamesgu"},"change_message_id":"6c60e8000750b6739dabef0952f9f7add3bd3f34","unresolved":false,"context_lines":[{"line_number":31,"context_line":"const ("},{"line_number":32,"context_line":"\tgetClusterLong \u003d `"},{"line_number":33,"context_line":"Display specific clusters that match the provided name and type. If no name is provided, all defined clusters will be"},{"line_number":34,"context_line":"returned. The --cluster-type flag is mandatory and its valid values are [ephemeral|target|all]."},{"line_number":35,"context_line":"`"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"\tgetClusterExample \u003d `"}],"source_content_type":"text/x-go","patch_set":8,"id":"1f493fa4_cb500fd8","line":34,"range":{"start_line":34,"start_character":10,"end_line":34,"end_character":46},"in_reply_to":"1f493fa4_baceaf80","updated":"2020-05-05 17:31:11.000000000","message":"Done","commit_id":"46d8812ed7c707e51defaaa50d5a256da63c7451"},{"author":{"_account_id":28618,"name":"Drew Walters","email":"drewwalters@microsoft.com","username":"drewwalters96"},"change_message_id":"3b54bc1fefaf6e1317e0680f7aa3df51e845ca61","unresolved":false,"context_lines":[{"line_number":81,"context_line":"\treturn cmd"},{"line_number":82,"context_line":"}"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"func getCluster(options []*config.ClusterOptions, out io.Writer, airconfig *config.Config) error {"},{"line_number":85,"context_line":"\tclusters :\u003d []*config.Cluster{}"},{"line_number":86,"context_line":"\tfor _, o :\u003d range options {"},{"line_number":87,"context_line":"\t\tret, err :\u003d airconfig.GetClustersByNameAndType(o)"}],"source_content_type":"text/x-go","patch_set":8,"id":"1f493fa4_7a838705","line":84,"range":{"start_line":84,"start_character":5,"end_line":84,"end_character":16},"updated":"2020-05-05 15:20:26.000000000","message":"Since this function has side effects (IO), it\u0027s a bit clunky to test. Maybe we could move this somewhere where it can be reused and keep the IO in the function above?","commit_id":"46d8812ed7c707e51defaaa50d5a256da63c7451"},{"author":{"_account_id":24580,"name":"James Gu","email":"james.gu@microsoft.com","username":"jamesgu"},"change_message_id":"6c60e8000750b6739dabef0952f9f7add3bd3f34","unresolved":false,"context_lines":[{"line_number":81,"context_line":"\treturn cmd"},{"line_number":82,"context_line":"}"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"func getCluster(options []*config.ClusterOptions, out io.Writer, airconfig *config.Config) error {"},{"line_number":85,"context_line":"\tclusters :\u003d []*config.Cluster{}"},{"line_number":86,"context_line":"\tfor _, o :\u003d range options {"},{"line_number":87,"context_line":"\t\tret, err :\u003d airconfig.GetClustersByNameAndType(o)"}],"source_content_type":"text/x-go","patch_set":8,"id":"1f493fa4_0b64b7b8","line":84,"range":{"start_line":84,"start_character":5,"end_line":84,"end_character":16},"in_reply_to":"1f493fa4_7a838705","updated":"2020-05-05 17:31:11.000000000","message":"done","commit_id":"46d8812ed7c707e51defaaa50d5a256da63c7451"},{"author":{"_account_id":28618,"name":"Drew Walters","email":"drewwalters@microsoft.com","username":"drewwalters96"},"change_message_id":"3b54bc1fefaf6e1317e0680f7aa3df51e845ca61","unresolved":false,"context_lines":[{"line_number":100,"context_line":"\tfor _, cluster :\u003d range clusters {"},{"line_number":101,"context_line":"\t\tclusterYamls \u003d append(clusterYamls, cluster.PrettyString())"},{"line_number":102,"context_line":"\t}"},{"line_number":103,"context_line":"\t_, err :\u003d fmt.Fprint(out, strings.Join(clusterYamls, \"\\n\"))"},{"line_number":104,"context_line":"\treturn err"},{"line_number":105,"context_line":"}"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-go","patch_set":8,"id":"1f493fa4_9a793331","line":103,"range":{"start_line":103,"start_character":11,"end_line":103,"end_character":60},"updated":"2020-05-05 15:20:26.000000000","message":"I think you can also use this https://golang.org/pkg/fmt/#Fprintln\n\nbut this is also fine.","commit_id":"46d8812ed7c707e51defaaa50d5a256da63c7451"},{"author":{"_account_id":24580,"name":"James Gu","email":"james.gu@microsoft.com","username":"jamesgu"},"change_message_id":"6c60e8000750b6739dabef0952f9f7add3bd3f34","unresolved":false,"context_lines":[{"line_number":100,"context_line":"\tfor _, cluster :\u003d range clusters {"},{"line_number":101,"context_line":"\t\tclusterYamls \u003d append(clusterYamls, cluster.PrettyString())"},{"line_number":102,"context_line":"\t}"},{"line_number":103,"context_line":"\t_, err :\u003d fmt.Fprint(out, strings.Join(clusterYamls, \"\\n\"))"},{"line_number":104,"context_line":"\treturn err"},{"line_number":105,"context_line":"}"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-go","patch_set":8,"id":"1f493fa4_8b6f2791","line":103,"range":{"start_line":103,"start_character":11,"end_line":103,"end_character":60},"in_reply_to":"1f493fa4_9a793331","updated":"2020-05-05 17:31:11.000000000","message":"here we are joining a list of clusters and only wanted new lines in between, not at the end.","commit_id":"46d8812ed7c707e51defaaa50d5a256da63c7451"}],"pkg/config/config.go":[{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"4328d2f72788f3038f4f4b41f5df71776eed4081","unresolved":false,"context_lines":[{"line_number":519,"context_line":"\treturn clusters"},{"line_number":520,"context_line":"}"},{"line_number":521,"context_line":""},{"line_number":522,"context_line":"// GetClusters returns all of the clusters associated with the Config sorted by name"},{"line_number":523,"context_line":"func (c *Config) GetClusters() []*Cluster {"},{"line_number":524,"context_line":"\tkeys :\u003d make([]string, 0, len(c.Clusters))"},{"line_number":525,"context_line":"\tfor name :\u003d range c.Clusters {"},{"line_number":526,"context_line":"\t\tkeys \u003d append(keys, name)"},{"line_number":527,"context_line":"\t}"},{"line_number":528,"context_line":"\tsort.Strings(keys)"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"\tclusters :\u003d make([]*Cluster, 0, len(c.Clusters))"},{"line_number":531,"context_line":"\tfor _, name :\u003d range keys {"},{"line_number":532,"context_line":"\t\tfor _, clusterType :\u003d range AllClusterTypes {"},{"line_number":533,"context_line":"\t\t\tcluster, exists :\u003d c.Clusters[name].ClusterTypes[clusterType]"},{"line_number":534,"context_line":"\t\t\tif exists {"},{"line_number":535,"context_line":"\t\t\t\t// If it doesn\u0027t exist, then there must not be"},{"line_number":536,"context_line":"\t\t\t\t// a cluster with this name/type combination."},{"line_number":537,"context_line":"\t\t\t\t// This is expected behavior"},{"line_number":538,"context_line":"\t\t\t\tclusters \u003d append(clusters, cluster)"},{"line_number":539,"context_line":"\t\t\t}"},{"line_number":540,"context_line":"\t\t}"},{"line_number":541,"context_line":"\t}"},{"line_number":542,"context_line":"\treturn clusters"},{"line_number":543,"context_line":"}"},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"// Context Operations from Config point of view"},{"line_number":546,"context_line":"// Get Context"}],"source_content_type":"text/x-go","patch_set":2,"id":"1fa4df85_08c01e7b","line":543,"range":{"start_line":522,"start_character":0,"end_line":543,"end_character":1},"updated":"2020-04-29 16:32:10.000000000","message":"I think this function could be joined into the above function using something like\n\nvar clusterTypes []string\nif clusterType \u003d\u003d All {\n  clusterTypes \u003d AllClusterTypes\n} else {\n  clusterTypes \u003d []string{clusterType}\n}","commit_id":"7d96dbd5486aa46f62df62da986f71ae499c4daa"},{"author":{"_account_id":29624,"name":"Alexander Hughes","email":"Alexander.Hughes@pm.me","username":"alexanderhughes"},"change_message_id":"1d470d387b33359ca8f22cfacb10223b410f01c8","unresolved":false,"context_lines":[{"line_number":521,"context_line":"\treturn c.GetClustersByNameAndType(\u0026ClusterOptions{Name: \"\", ClusterType: AllClusterType})"},{"line_number":522,"context_line":"}"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"// GetClustersByNameAndType returns all of the clusters that matches both the specified name and type."},{"line_number":525,"context_line":"// If the name is empty, all clusters with the specified type will be returned."},{"line_number":526,"context_line":"func (c *Config) GetClustersByNameAndType(option *ClusterOptions) ([]*Cluster, error) {"},{"line_number":527,"context_line":"\tif option.Name \u003d\u003d \"\" {"}],"source_content_type":"text/x-go","patch_set":10,"id":"ff570b3c_3d2adbe6","line":524,"range":{"start_line":524,"start_character":61,"end_line":524,"end_character":68},"updated":"2020-05-08 20:21:57.000000000","message":"nit: match","commit_id":"2befbb09d67576d118dc92e24e285ea995da4683"},{"author":{"_account_id":24580,"name":"James Gu","email":"james.gu@microsoft.com","username":"jamesgu"},"change_message_id":"0306ec67b149986124c137040497e2005aa71d0e","unresolved":false,"context_lines":[{"line_number":521,"context_line":"\treturn c.GetClustersByNameAndType(\u0026ClusterOptions{Name: \"\", ClusterType: AllClusterType})"},{"line_number":522,"context_line":"}"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"// GetClustersByNameAndType returns all of the clusters that matches both the specified name and type."},{"line_number":525,"context_line":"// If the name is empty, all clusters with the specified type will be returned."},{"line_number":526,"context_line":"func (c *Config) GetClustersByNameAndType(option *ClusterOptions) ([]*Cluster, error) {"},{"line_number":527,"context_line":"\tif option.Name \u003d\u003d \"\" {"}],"source_content_type":"text/x-go","patch_set":10,"id":"ff570b3c_006dea97","line":524,"range":{"start_line":524,"start_character":61,"end_line":524,"end_character":68},"in_reply_to":"ff570b3c_3d2adbe6","updated":"2020-05-08 21:12:43.000000000","message":"Fixed.","commit_id":"2befbb09d67576d118dc92e24e285ea995da4683"}],"pkg/config/config_helper.go":[{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"4328d2f72788f3038f4f4b41f5df71776eed4081","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"1f493fa4_40ec478e","updated":"2020-04-29 16:32:10.000000000","message":"I believe these functions were refactored out in [0]. This change needs a bit of reworking to account for the refactor.\n\n[0] https://github.com/airshipit/airshipctl/commit/01d66c834d255a3b3955408b1550ba687e8a44e4#diff-5a49e4b6990adc03650507ab6a73f43c","commit_id":"fec71edc4f0b7860d4f7b0c14eb9e762d4ae0d7d"},{"author":{"_account_id":24580,"name":"James Gu","email":"james.gu@microsoft.com","username":"jamesgu"},"change_message_id":"e77f7b33c2e280522170113da8c2061141116acb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"1f493fa4_b520c79c","in_reply_to":"1f493fa4_40ec478e","updated":"2020-04-30 22:00:32.000000000","message":"Done","commit_id":"fec71edc4f0b7860d4f7b0c14eb9e762d4ae0d7d"}],"pkg/config/test_utils.go":[{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"4328d2f72788f3038f4f4b41f5df71776eed4081","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"func EmptyClusterOptions() *ClusterOptions {"},{"line_number":176,"context_line":"\treturn \u0026ClusterOptions{"},{"line_number":177,"context_line":"\t\tName:        \"\","},{"line_number":178,"context_line":"\t\tClusterType: \"\","},{"line_number":179,"context_line":"\t}"},{"line_number":180,"context_line":"}"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-go","patch_set":2,"id":"1fa4df85_8e842360","line":178,"range":{"start_line":177,"start_character":0,"end_line":178,"end_character":18},"updated":"2020-04-29 16:32:10.000000000","message":"These zero values aren\u0027t necessary here","commit_id":"7d96dbd5486aa46f62df62da986f71ae499c4daa"}],"testutil/testconfig.go":[{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"4328d2f72788f3038f4f4b41f5df71776eed4081","unresolved":false,"context_lines":[{"line_number":195,"context_line":"\treturn conf, cleanup"},{"line_number":196,"context_line":"}"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"// EmptyClusterOptions creates ClusterOptions config object"},{"line_number":199,"context_line":"// that has empty values in its fields."},{"line_number":200,"context_line":"func EmptyClusterOptions() *config.ClusterOptions {"},{"line_number":201,"context_line":"\treturn \u0026config.ClusterOptions{"},{"line_number":202,"context_line":"\t\tName:        \"\","},{"line_number":203,"context_line":"\t\tClusterType: \"\","},{"line_number":204,"context_line":"\t}"},{"line_number":205,"context_line":"}"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"// DummyClusterOptions creates ClusterOptions config object"},{"line_number":208,"context_line":"// for unit testing"}],"source_content_type":"text/x-go","patch_set":7,"id":"1f493fa4_c08cd7d8","line":205,"range":{"start_line":198,"start_character":0,"end_line":205,"end_character":1},"updated":"2020-04-29 16:32:10.000000000","message":"Everything here is a zero value - why would this be used over\n\n  myClusterOptions :\u003d new(config.ClusterOptions)","commit_id":"fec71edc4f0b7860d4f7b0c14eb9e762d4ae0d7d"},{"author":{"_account_id":24580,"name":"James Gu","email":"james.gu@microsoft.com","username":"jamesgu"},"change_message_id":"e77f7b33c2e280522170113da8c2061141116acb","unresolved":false,"context_lines":[{"line_number":195,"context_line":"\treturn conf, cleanup"},{"line_number":196,"context_line":"}"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"// EmptyClusterOptions creates ClusterOptions config object"},{"line_number":199,"context_line":"// that has empty values in its fields."},{"line_number":200,"context_line":"func EmptyClusterOptions() *config.ClusterOptions {"},{"line_number":201,"context_line":"\treturn \u0026config.ClusterOptions{"},{"line_number":202,"context_line":"\t\tName:        \"\","},{"line_number":203,"context_line":"\t\tClusterType: \"\","},{"line_number":204,"context_line":"\t}"},{"line_number":205,"context_line":"}"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"// DummyClusterOptions creates ClusterOptions config object"},{"line_number":208,"context_line":"// for unit testing"}],"source_content_type":"text/x-go","patch_set":7,"id":"1f493fa4_95d84a53","line":205,"range":{"start_line":198,"start_character":0,"end_line":205,"end_character":1},"in_reply_to":"1f493fa4_c08cd7d8","updated":"2020-04-30 22:00:32.000000000","message":"Done","commit_id":"fec71edc4f0b7860d4f7b0c14eb9e762d4ae0d7d"}],"testutil/utilities.go":[{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"4328d2f72788f3038f4f4b41f5df71776eed4081","unresolved":false,"context_lines":[{"line_number":95,"context_line":"\tgoldenFilePath :\u003d filepath.Join(goldenDir, test.Name+goldenFileSuffix)"},{"line_number":96,"context_line":"\tgolden, err :\u003d ioutil.ReadFile(goldenFilePath)"},{"line_number":97,"context_line":"\trequire.NoErrorf(t, err, \"Failed while reading golden file at %s\", goldenFilePath)"},{"line_number":98,"context_line":"\tassert.Equal(t, string(golden), string(actual), \"Failed command test: \\\"%s\\\"\", test.Name)"},{"line_number":99,"context_line":"}"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"func checkError(t *testing.T, actual, expected error) {"}],"source_content_type":"text/x-go","patch_set":7,"id":"1f493fa4_40860715","line":98,"range":{"start_line":98,"start_character":49,"end_line":98,"end_character":89},"updated":"2020-04-29 16:32:10.000000000","message":"is this needed? CmdTests are meant to be run in SubTests, meaning that their name should already be attached to the output","commit_id":"fec71edc4f0b7860d4f7b0c14eb9e762d4ae0d7d"},{"author":{"_account_id":24580,"name":"James Gu","email":"james.gu@microsoft.com","username":"jamesgu"},"change_message_id":"e77f7b33c2e280522170113da8c2061141116acb","unresolved":false,"context_lines":[{"line_number":95,"context_line":"\tgoldenFilePath :\u003d filepath.Join(goldenDir, test.Name+goldenFileSuffix)"},{"line_number":96,"context_line":"\tgolden, err :\u003d ioutil.ReadFile(goldenFilePath)"},{"line_number":97,"context_line":"\trequire.NoErrorf(t, err, \"Failed while reading golden file at %s\", goldenFilePath)"},{"line_number":98,"context_line":"\tassert.Equal(t, string(golden), string(actual), \"Failed command test: \\\"%s\\\"\", test.Name)"},{"line_number":99,"context_line":"}"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"func checkError(t *testing.T, actual, expected error) {"}],"source_content_type":"text/x-go","patch_set":7,"id":"1f493fa4_bb98da74","line":98,"range":{"start_line":98,"start_character":49,"end_line":98,"end_character":89},"in_reply_to":"1f493fa4_40860715","updated":"2020-04-30 22:00:32.000000000","message":"In a few places, an array of cmdtests are run together. And output didn\u0027t show which specific cmdtest failed in the asset message.","commit_id":"fec71edc4f0b7860d4f7b0c14eb9e762d4ae0d7d"}]}
