@@ -1635,3 +1635,298 @@ func TestApplyCredentialsPath(t *testing.T) {
1635
1635
})
1636
1636
}
1637
1637
}
1638
+
1639
+ func TestApplyParametersToWorkspaceBindings (t * testing.T ) {
1640
+ tests := []struct {
1641
+ name string
1642
+ ts * v1.TaskSpec
1643
+ tr * v1.TaskRun
1644
+ want * v1.TaskRun
1645
+ }{
1646
+ {
1647
+ name : "pvc" ,
1648
+ ts : & v1.TaskSpec {
1649
+ Params : []v1.ParamSpec {
1650
+ {Name : "claim-name" , Type : v1 .ParamTypeString },
1651
+ },
1652
+ },
1653
+ tr : & v1.TaskRun {
1654
+ Spec : v1.TaskRunSpec {
1655
+ Workspaces : []v1.WorkspaceBinding {
1656
+ {
1657
+ PersistentVolumeClaim : & corev1.PersistentVolumeClaimVolumeSource {
1658
+ ClaimName : "$(params.claim-name)" ,
1659
+ },
1660
+ },
1661
+ },
1662
+ Params : v1.Params {{Name : "claim-name" , Value : v1.ParamValue {
1663
+ Type : v1 .ParamTypeString ,
1664
+ StringVal : "claim-value" ,
1665
+ }}},
1666
+ },
1667
+ },
1668
+ want : & v1.TaskRun {
1669
+ Spec : v1.TaskRunSpec {
1670
+ Workspaces : []v1.WorkspaceBinding {
1671
+ {
1672
+ PersistentVolumeClaim : & corev1.PersistentVolumeClaimVolumeSource {
1673
+ ClaimName : "claim-value" ,
1674
+ },
1675
+ },
1676
+ },
1677
+ Params : v1.Params {{Name : "claim-name" , Value : v1.ParamValue {
1678
+ Type : v1 .ParamTypeString ,
1679
+ StringVal : "claim-value" ,
1680
+ }}},
1681
+ },
1682
+ },
1683
+ },
1684
+ {
1685
+ name : "subPath" ,
1686
+ ts : & v1.TaskSpec {
1687
+ Params : []v1.ParamSpec {
1688
+ {Name : "subPath-name" , Type : v1 .ParamTypeString },
1689
+ },
1690
+ },
1691
+ tr : & v1.TaskRun {
1692
+ Spec : v1.TaskRunSpec {
1693
+ Workspaces : []v1.WorkspaceBinding {
1694
+ {
1695
+ SubPath : "$(params.subPath-name)" ,
1696
+ },
1697
+ },
1698
+ Params : v1.Params {{Name : "subPath-name" , Value : v1.ParamValue {
1699
+ Type : v1 .ParamTypeString ,
1700
+ StringVal : "subPath-value" ,
1701
+ }}},
1702
+ },
1703
+ },
1704
+ want : & v1.TaskRun {
1705
+ Spec : v1.TaskRunSpec {
1706
+ Workspaces : []v1.WorkspaceBinding {
1707
+ {
1708
+ SubPath : "subPath-value" ,
1709
+ },
1710
+ },
1711
+ Params : v1.Params {{Name : "subPath-name" , Value : v1.ParamValue {
1712
+ Type : v1 .ParamTypeString ,
1713
+ StringVal : "subPath-value" ,
1714
+ }}},
1715
+ },
1716
+ },
1717
+ },
1718
+ {
1719
+ name : "configMap" ,
1720
+ ts : & v1.TaskSpec {
1721
+ Params : []v1.ParamSpec {
1722
+ {Name : "configMap-name" , Type : v1 .ParamTypeString },
1723
+ },
1724
+ },
1725
+ tr : & v1.TaskRun {
1726
+ Spec : v1.TaskRunSpec {
1727
+ Workspaces : []v1.WorkspaceBinding {
1728
+ {
1729
+ ConfigMap : & corev1.ConfigMapVolumeSource {
1730
+ LocalObjectReference : corev1.LocalObjectReference {
1731
+ Name : "$(params.configMap-name)" ,
1732
+ },
1733
+ },
1734
+ },
1735
+ },
1736
+ Params : v1.Params {{Name : "configMap-name" , Value : v1.ParamValue {
1737
+ Type : v1 .ParamTypeString ,
1738
+ StringVal : "configMap-value" ,
1739
+ }}},
1740
+ },
1741
+ },
1742
+ want : & v1.TaskRun {
1743
+ Spec : v1.TaskRunSpec {
1744
+ Workspaces : []v1.WorkspaceBinding {
1745
+ {
1746
+ ConfigMap : & corev1.ConfigMapVolumeSource {
1747
+ LocalObjectReference : corev1.LocalObjectReference {
1748
+ Name : "configMap-value" ,
1749
+ },
1750
+ },
1751
+ },
1752
+ },
1753
+ Params : v1.Params {{Name : "configMap-name" , Value : v1.ParamValue {
1754
+ Type : v1 .ParamTypeString ,
1755
+ StringVal : "configMap-value" ,
1756
+ }}},
1757
+ },
1758
+ },
1759
+ },
1760
+ {
1761
+ name : "secret" ,
1762
+ ts : & v1.TaskSpec {
1763
+ Params : []v1.ParamSpec {
1764
+ {Name : "secret-name" , Type : v1 .ParamTypeString },
1765
+ },
1766
+ },
1767
+ tr : & v1.TaskRun {
1768
+ Spec : v1.TaskRunSpec {
1769
+ Workspaces : []v1.WorkspaceBinding {
1770
+ {
1771
+ Secret : & corev1.SecretVolumeSource {
1772
+ SecretName : "$(params.secret-name)" ,
1773
+ },
1774
+ },
1775
+ },
1776
+ Params : v1.Params {{Name : "secret-name" , Value : v1.ParamValue {
1777
+ Type : v1 .ParamTypeString ,
1778
+ StringVal : "secret-value" ,
1779
+ }}},
1780
+ },
1781
+ },
1782
+ want : & v1.TaskRun {
1783
+ Spec : v1.TaskRunSpec {
1784
+ Workspaces : []v1.WorkspaceBinding {
1785
+ {
1786
+ Secret : & corev1.SecretVolumeSource {
1787
+ SecretName : "secret-value" ,
1788
+ },
1789
+ },
1790
+ },
1791
+ Params : v1.Params {{Name : "secret-name" , Value : v1.ParamValue {
1792
+ Type : v1 .ParamTypeString ,
1793
+ StringVal : "secret-value" ,
1794
+ }},
1795
+ },
1796
+ },
1797
+ },
1798
+ },
1799
+ {
1800
+ name : "projected-sources-configMap" ,
1801
+ ts : & v1.TaskSpec {
1802
+ Params : []v1.ParamSpec {
1803
+ {Name : "proj-configMap-name" , Type : v1 .ParamTypeString },
1804
+ },
1805
+ },
1806
+ tr : & v1.TaskRun {
1807
+ Spec : v1.TaskRunSpec {
1808
+ Workspaces : []v1.WorkspaceBinding {
1809
+ {
1810
+ Projected : & corev1.ProjectedVolumeSource {
1811
+ Sources : []corev1.VolumeProjection {
1812
+ {
1813
+ ConfigMap : & corev1.ConfigMapProjection {
1814
+ LocalObjectReference : corev1.LocalObjectReference {
1815
+ Name : "$(params.proj-configMap-name)" ,
1816
+ },
1817
+ },
1818
+ },
1819
+ },
1820
+ },
1821
+ },
1822
+ },
1823
+ Params : v1.Params {
1824
+ {
1825
+ Name : "proj-configMap-name" , Value : v1.ParamValue {
1826
+ Type : v1 .ParamTypeString ,
1827
+ StringVal : "proj-configMap-value" ,
1828
+ },
1829
+ },
1830
+ },
1831
+ },
1832
+ },
1833
+ want : & v1.TaskRun {
1834
+ Spec : v1.TaskRunSpec {
1835
+ Workspaces : []v1.WorkspaceBinding {
1836
+ {
1837
+ Projected : & corev1.ProjectedVolumeSource {
1838
+ Sources : []corev1.VolumeProjection {
1839
+ {
1840
+ ConfigMap : & corev1.ConfigMapProjection {
1841
+ LocalObjectReference : corev1.LocalObjectReference {
1842
+ Name : "proj-configMap-value" ,
1843
+ },
1844
+ },
1845
+ },
1846
+ },
1847
+ },
1848
+ },
1849
+ },
1850
+ Params : v1.Params {
1851
+ {
1852
+ Name : "proj-configMap-name" , Value : v1.ParamValue {
1853
+ Type : v1 .ParamTypeString ,
1854
+ StringVal : "proj-configMap-value" ,
1855
+ },
1856
+ },
1857
+ },
1858
+ },
1859
+ },
1860
+ },
1861
+ {
1862
+ name : "projected-sources-secret" ,
1863
+ ts : & v1.TaskSpec {
1864
+ Params : []v1.ParamSpec {
1865
+ {Name : "proj-secret-name" , Type : v1 .ParamTypeString },
1866
+ },
1867
+ },
1868
+ tr : & v1.TaskRun {
1869
+ Spec : v1.TaskRunSpec {
1870
+ Workspaces : []v1.WorkspaceBinding {
1871
+ {
1872
+ Projected : & corev1.ProjectedVolumeSource {
1873
+ Sources : []corev1.VolumeProjection {
1874
+ {
1875
+ Secret : & corev1.SecretProjection {
1876
+ LocalObjectReference : corev1.LocalObjectReference {
1877
+ Name : "$(params.proj-secret-name)" ,
1878
+ },
1879
+ },
1880
+ },
1881
+ },
1882
+ },
1883
+ },
1884
+ },
1885
+ Params : v1.Params {
1886
+ {
1887
+ Name : "proj-secret-name" , Value : v1.ParamValue {
1888
+ Type : v1 .ParamTypeString ,
1889
+ StringVal : "proj-secret-value" ,
1890
+ },
1891
+ },
1892
+ },
1893
+ },
1894
+ },
1895
+ want : & v1.TaskRun {
1896
+ Spec : v1.TaskRunSpec {
1897
+ Workspaces : []v1.WorkspaceBinding {
1898
+ {
1899
+ Projected : & corev1.ProjectedVolumeSource {
1900
+ Sources : []corev1.VolumeProjection {
1901
+ {
1902
+ Secret : & corev1.SecretProjection {
1903
+ LocalObjectReference : corev1.LocalObjectReference {
1904
+ Name : "proj-secret-value" ,
1905
+ },
1906
+ },
1907
+ },
1908
+ },
1909
+ },
1910
+ },
1911
+ },
1912
+ Params : v1.Params {
1913
+ {
1914
+ Name : "proj-secret-name" , Value : v1.ParamValue {
1915
+ Type : v1 .ParamTypeString ,
1916
+ StringVal : "proj-secret-value" ,
1917
+ },
1918
+ },
1919
+ },
1920
+ },
1921
+ },
1922
+ },
1923
+ }
1924
+ for _ , tt := range tests {
1925
+ t .Run (tt .name , func (t * testing.T ) {
1926
+ got := resources .ApplyParametersToWorkspaceBindings (tt .ts , tt .tr )
1927
+ if d := cmp .Diff (got , tt .want ); d != "" {
1928
+ t .Errorf ("ApplyParametersToWorkspaceBindings() %v, diff %v" , tt .name , d )
1929
+ }
1930
+ })
1931
+ }
1932
+ }
0 commit comments