You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2021/12/28 14:27:19 UTC

[GitHub] [beam] AydarZaynutdinov opened a new pull request #16374: [BEAM-13398][Playground] Split LifeCycle to DTO and business logic

AydarZaynutdinov opened a new pull request #16374:
URL: https://github.com/apache/beam/pull/16374


   [BEAM-13398]
   Add LifeCycleDto to separate DTO and business logic.
   
   
   ------------------------
   
   Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
   
    - [ ] [**Choose reviewer(s)**](https://beam.apache.org/contribute/#make-your-change) and mention them in a comment (`R: @username`).
    - [ ] Format the pull request title like `[BEAM-XXX] Fixes bug in ApproximateQuantiles`, where you replace `BEAM-XXX` with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
    - [ ] Update `CHANGES.md` with noteworthy changes.
    - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   See the [Contributor Guide](https://beam.apache.org/contribute) for more tips on [how to make review process smoother](https://beam.apache.org/contribute/#make-reviewers-job-easier).
   
   `ValidatesRunner` compliance status (on master branch)
   --------------------------------------------------------
   
   <table>
     <thead>
       <tr>
         <th>Lang</th>
         <th>ULR</th>
         <th>Dataflow</th>
         <th>Flink</th>
         <th>Samza</th>
         <th>Spark</th>
         <th>Twister2</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td>Go</td>
         <td>---</td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Go/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Go/lastCompletedBuild/badge/icon">
           </a>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Go_VR_Flink/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Go_VR_Flink/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Go_VR_Samza/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Go_VR_Samza/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Go_VR_Spark/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Go_VR_Spark/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>---</td>
       </tr>
       <tr>
         <td>Java</td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_ULR/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_ULR/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow/lastCompletedBuild/badge/icon?subject=V1">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow_Streaming/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow_Streaming/lastCompletedBuild/badge/icon?subject=V1+Streaming">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow_Java11/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow_Java11/lastCompletedBuild/badge/icon?subject=V1+Java+11">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_VR_Dataflow_V2/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_VR_Dataflow_V2/lastCompletedBuild/badge/icon?subject=V2">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_VR_Dataflow_V2_Streaming/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_VR_Dataflow_V2_Streaming/lastCompletedBuild/badge/icon?subject=V2+Streaming">
           </a><br>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Flink/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Flink/lastCompletedBuild/badge/icon?subject=Java+8">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Flink_Java11/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Flink_Java11/lastCompletedBuild/badge/icon?subject=Java+11">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_PVR_Flink_Batch/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_PVR_Flink_Batch/lastCompletedBuild/badge/icon?subject=Portable">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_PVR_Flink_Streaming/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_PVR_Flink_Streaming/lastCompletedBuild/badge/icon?subject=Portable+Streaming">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Samza/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Samza/lastCompletedBuild/badge/icon">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_PVR_Samza/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_PVR_Samza/lastCompletedBuild/badge/icon?subject=Portable">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Spark/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Spark/lastCompletedBuild/badge/icon">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_PVR_Spark_Batch/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_PVR_Spark_Batch/lastCompletedBuild/badge/icon?subject=Portable">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_SparkStructuredStreaming/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_SparkStructuredStreaming/lastCompletedBuild/badge/icon?subject=Structured+Streaming">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Twister2/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Twister2/lastCompletedBuild/badge/icon">
           </a>
         </td>
       </tr>
       <tr>
         <td>Python</td>
         <td>---</td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Py_VR_Dataflow/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Py_VR_Dataflow/lastCompletedBuild/badge/icon?subject=V1">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Py_VR_Dataflow_V2/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Py_VR_Dataflow_V2/lastCompletedBuild/badge/icon?subject=V2">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Py_ValCont/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Py_ValCont/lastCompletedBuild/badge/icon?subject=ValCont">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PreCommit_Python_PVR_Flink_Cron/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PreCommit_Python_PVR_Flink_Cron/lastCompletedBuild/badge/icon?subject=Portable">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Python_VR_Flink/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Python_VR_Flink/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Python_VR_Samza/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Python_VR_Samza/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Python_VR_Spark/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Python_VR_Spark/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>---</td>
       </tr>
       <tr>
         <td>XLang</td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_XVR_Direct/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_XVR_Direct/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_XVR_Dataflow/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_XVR_Dataflow/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_XVR_Flink/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_XVR_Flink/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_XVR_Samza/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_XVR_Samza/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_XVR_Spark/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_XVR_Spark/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>---</td>
       </tr>
     </tbody>
   </table>
   
   Examples testing status on various runners
   --------------------------------------------------------
   
   <table>
     <thead>
       <tr>
         <th>Lang</th>
         <th>ULR</th>
         <th>Dataflow</th>
         <th>Flink</th>
         <th>Samza</th>
         <th>Spark</th>
         <th>Twister2</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td>Go</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
       </tr>
       <tr>
         <td>Java</td>
         <td>---</td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PreCommit_Java_Examples_Dataflow_Cron/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PreCommit_Java_Examples_Dataflow_Cron/lastCompletedBuild/badge/icon?subject=V1">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PreCommit_Java_Examples_Dataflow_Java11_Cron/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PreCommit_Java_Examples_Dataflow_Java11_Cron/lastCompletedBuild/badge/icon?subject=V1+Java11">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java_Examples_Dataflow_V2/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java_Examples_Dataflow_V2/lastCompletedBuild/badge/icon?subject=V2">
           </a><br>
         </td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
       </tr>
       <tr>
         <td>Python</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
       </tr>
       <tr>
         <td>XLang</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
       </tr>
     </tbody>
   </table>
   
   Post-Commit SDK/Transform Integration Tests Status (on master branch)
   ------------------------------------------------------------------------------------------------
   
   <table>
     <thead>
       <tr>
         <th>Go</th>
         <th>Java</th>
         <th>Python</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Go/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Go/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Java/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Java/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Python36/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Python36/lastCompletedBuild/badge/icon?subject=3.6">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Python37/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Python37/lastCompletedBuild/badge/icon?subject=3.7">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PostCommit_Python38/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PostCommit_Python38/lastCompletedBuild/badge/icon?subject=3.8">
           </a>
         </td>
       </tr>
     </tbody>
   </table>
   
   Pre-Commit Tests Status (on master branch)
   ------------------------------------------------------------------------------------------------
   
   <table>
     <thead>
       <tr>
         <th>---</th>
         <th>Java</th>
         <th>Python</th>
         <th>Go</th>
         <th>Website</th>
         <th>Whitespace</th>
         <th>Typescript</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td>Non-portable</td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PreCommit_Java_Cron/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PreCommit_Java_Cron/lastCompletedBuild/badge/icon">
           </a><br>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron/lastCompletedBuild/badge/icon?subject=Tests">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Cron/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Cron/lastCompletedBuild/badge/icon?subject=Lint">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PreCommit_PythonDocker_Cron/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PreCommit_PythonDocker_Cron/badge/icon?subject=Docker">
           </a><br>
           <a href="https://ci-beam.apache.org/job/beam_PreCommit_PythonDocs_Cron/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PreCommit_PythonDocs_Cron/badge/icon?subject=Docs">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PreCommit_Go_Cron/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PreCommit_Go_Cron/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PreCommit_Website_Cron/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PreCommit_Website_Cron/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PreCommit_Whitespace_Cron/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PreCommit_Whitespace_Cron/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PreCommit_Typescript_Cron/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PreCommit_Typescript_Cron/lastCompletedBuild/badge/icon">
           </a>
         </td>
       </tr>
       <tr>
         <td>Portable</td>
         <td>---</td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Cron/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Cron/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>
           <a href="https://ci-beam.apache.org/job/beam_PreCommit_GoPortable_Cron/lastCompletedBuild/">
             <img alt="Build Status" src="https://ci-beam.apache.org/job/beam_PreCommit_GoPortable_Cron/lastCompletedBuild/badge/icon">
           </a>
         </td>
         <td>---</td>
         <td>---</td>
         <td>---</td>
       </tr>
     </tbody>
   </table>
   
   See [.test-infra/jenkins/README](https://github.com/apache/beam/blob/master/.test-infra/jenkins/README.md) for trigger phrase, status and link of all Jenkins jobs.
   
   
   GitHub Actions Tests Status (on master branch)
   ------------------------------------------------------------------------------------------------
   [![Build python source distribution and wheels](https://github.com/apache/beam/workflows/Build%20python%20source%20distribution%20and%20wheels/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
   [![Python tests](https://github.com/apache/beam/workflows/Python%20tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
   [![Java tests](https://github.com/apache/beam/workflows/Java%20Tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
   
   See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more information about GitHub Actions CI.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [beam] AydarZaynutdinov commented on a change in pull request #16374: [BEAM-13398][Playground] Split LifeCycle to DTO and business logic

Posted by GitBox <gi...@apache.org>.
AydarZaynutdinov commented on a change in pull request #16374:
URL: https://github.com/apache/beam/pull/16374#discussion_r782783275



##########
File path: playground/backend/internal/fs_tool/fs.go
##########
@@ -92,26 +86,17 @@ func (l *LifeCycle) DeleteFolders() error {
 }
 
 // CreateSourceCodeFile creates an executable file (i.e. file.{sourceFileExtension}).
-func (l *LifeCycle) CreateSourceCodeFile(code string) (string, error) {
-	if _, err := os.Stat(l.Folder.SourceFileFolder); os.IsNotExist(err) {
-		return "", err
+func (l *LifeCycle) CreateSourceCodeFile(code string) error {
+	if _, err := os.Stat(l.Paths.AbsoluteSourceFileFolderPath); os.IsNotExist(err) {
+		return err
 	}
 
-	fileName := l.pipelineId.String() + l.Extension.SourceFileExtension
-	filePath := filepath.Join(l.Folder.SourceFileFolder, fileName)
+	filePath := l.Paths.AbsoluteSourceFilePath

Review comment:
       Done.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [beam] AydarZaynutdinov commented on a change in pull request #16374: [BEAM-13398][Playground] Split LifeCycle to DTO and business logic

Posted by GitBox <gi...@apache.org>.
AydarZaynutdinov commented on a change in pull request #16374:
URL: https://github.com/apache/beam/pull/16374#discussion_r782782424



##########
File path: playground/backend/internal/fs_tool/fs_test.go
##########
@@ -30,132 +28,108 @@ import (
 const (
 	sourceDir       = "sourceDir"
 	destinationDir  = "destinationDir"
+	testFileMode    = 0755
 	pipelinesFolder = "executable_files"
 )
 
-func TestMain(m *testing.M) {
-	err := setupPreparedFiles()
-	if err != nil {
-		logger.Fatal(err)
-	}
-	defer teardown()
-	m.Run()
-}
-
-func setupPreparedFiles() error {
-	err := os.Mkdir(sourceDir, 0755)
+func prepareFiles() error {
+	err := os.Mkdir(sourceDir, testFileMode)
 	if err != nil {
 		return err
 	}
-	err = os.Mkdir(destinationDir, 0755)
+	err = os.Mkdir(destinationDir, testFileMode)
 	if err != nil {
 		return err
 	}
 	filePath := filepath.Join(sourceDir, "file.txt")
 	_, err = os.Create(filePath)
-	if err != nil {
-		return err
-	}
-	return nil
+	return err
 }
 
-func teardown() {
+func teardownFiles() error {
 	err := os.RemoveAll(sourceDir)
 	if err != nil {
-		logger.Fatal(err)
-	}
-	err = os.RemoveAll(destinationDir)
-	if err != nil {
-		logger.Fatal(err)
-	}
-	err = os.RemoveAll(pipelinesFolder)
-	if err != nil {
-		logger.Fatal(err)
+		return err
 	}
+	return os.RemoveAll(destinationDir)
 }
 
-func TestLifeCycle_CreateExecutableFile(t *testing.T) {
-	pipelineId := uuid.New()
-	baseFileFolder := fmt.Sprintf("%s/%s", pipelinesFolder, pipelineId)
-	srcFileFolder := baseFileFolder + "/src"
-	binFileFolder := baseFileFolder + "/bin"
+func prepareFolders(baseFileFolder string) error {
+	srcFileFolder := filepath.Join(baseFileFolder, "src")
+
+	return os.MkdirAll(srcFileFolder, testFileMode)
+}
+
+func teardownFolders(baseFileFolder string) error {

Review comment:
       Ditto as the previous answer.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [beam] AydarZaynutdinov edited a comment on pull request #16374: [BEAM-13398][Playground] Split LifeCycle to DTO and business logic

Posted by GitBox <gi...@apache.org>.
AydarZaynutdinov edited a comment on pull request #16374:
URL: https://github.com/apache/beam/pull/16374#issuecomment-1010730192


   Made changes according to our discussions.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [beam] AydarZaynutdinov commented on pull request #16374: [BEAM-13398][Playground] Split LifeCycle to DTO and business logic

Posted by GitBox <gi...@apache.org>.
AydarZaynutdinov commented on pull request #16374:
URL: https://github.com/apache/beam/pull/16374#issuecomment-1010730192


   Make changes according to our discussions.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [beam] AydarZaynutdinov commented on pull request #16374: [BEAM-13398][Playground] Split LifeCycle to DTO and business logic

Posted by GitBox <gi...@apache.org>.
AydarZaynutdinov commented on pull request #16374:
URL: https://github.com/apache/beam/pull/16374#issuecomment-1010984103


   R: @pabloem 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [beam] AydarZaynutdinov commented on a change in pull request #16374: [BEAM-13398][Playground] Split LifeCycle to DTO and business logic

Posted by GitBox <gi...@apache.org>.
AydarZaynutdinov commented on a change in pull request #16374:
URL: https://github.com/apache/beam/pull/16374#discussion_r782780625



##########
File path: playground/backend/internal/fs_tool/fs_test.go
##########
@@ -30,132 +28,108 @@ import (
 const (
 	sourceDir       = "sourceDir"
 	destinationDir  = "destinationDir"
+	testFileMode    = 0755
 	pipelinesFolder = "executable_files"
 )
 
-func TestMain(m *testing.M) {
-	err := setupPreparedFiles()
-	if err != nil {
-		logger.Fatal(err)
-	}
-	defer teardown()
-	m.Run()
-}
-
-func setupPreparedFiles() error {
-	err := os.Mkdir(sourceDir, 0755)
+func prepareFiles() error {
+	err := os.Mkdir(sourceDir, testFileMode)
 	if err != nil {
 		return err
 	}
-	err = os.Mkdir(destinationDir, 0755)
+	err = os.Mkdir(destinationDir, testFileMode)
 	if err != nil {
 		return err
 	}
 	filePath := filepath.Join(sourceDir, "file.txt")
 	_, err = os.Create(filePath)
-	if err != nil {
-		return err
-	}
-	return nil
+	return err
 }
 
-func teardown() {
+func teardownFiles() error {

Review comment:
       I have needed 2 methods to remove all prepared files and folders for 2 different tests `TestLifeCycle_CopyFile` and `TestLifeCycle_CreateSourceCodeFile`.
   `teardownFiles` removes files which were prepared for the `TestLifeCycle_CopyFile` test.
   `teardownFolders` removes files that were prepared for the `TestLifeCycle_CreateSourceCodeFile` test.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [beam] daria-malkova commented on a change in pull request #16374: [BEAM-13398][Playground] Split LifeCycle to DTO and business logic

Posted by GitBox <gi...@apache.org>.
daria-malkova commented on a change in pull request #16374:
URL: https://github.com/apache/beam/pull/16374#discussion_r782776329



##########
File path: playground/backend/internal/fs_tool/fs_test.go
##########
@@ -30,132 +28,108 @@ import (
 const (
 	sourceDir       = "sourceDir"
 	destinationDir  = "destinationDir"
+	testFileMode    = 0755
 	pipelinesFolder = "executable_files"
 )
 
-func TestMain(m *testing.M) {
-	err := setupPreparedFiles()
-	if err != nil {
-		logger.Fatal(err)
-	}
-	defer teardown()
-	m.Run()
-}
-
-func setupPreparedFiles() error {
-	err := os.Mkdir(sourceDir, 0755)
+func prepareFiles() error {
+	err := os.Mkdir(sourceDir, testFileMode)
 	if err != nil {
 		return err
 	}
-	err = os.Mkdir(destinationDir, 0755)
+	err = os.Mkdir(destinationDir, testFileMode)
 	if err != nil {
 		return err
 	}
 	filePath := filepath.Join(sourceDir, "file.txt")
 	_, err = os.Create(filePath)
-	if err != nil {
-		return err
-	}
-	return nil
+	return err
 }
 
-func teardown() {
+func teardownFiles() error {
 	err := os.RemoveAll(sourceDir)
 	if err != nil {
-		logger.Fatal(err)
-	}
-	err = os.RemoveAll(destinationDir)
-	if err != nil {
-		logger.Fatal(err)
-	}
-	err = os.RemoveAll(pipelinesFolder)
-	if err != nil {
-		logger.Fatal(err)
+		return err
 	}
+	return os.RemoveAll(destinationDir)
 }
 
-func TestLifeCycle_CreateExecutableFile(t *testing.T) {
-	pipelineId := uuid.New()
-	baseFileFolder := fmt.Sprintf("%s/%s", pipelinesFolder, pipelineId)
-	srcFileFolder := baseFileFolder + "/src"
-	binFileFolder := baseFileFolder + "/bin"
+func prepareFolders(baseFileFolder string) error {
+	srcFileFolder := filepath.Join(baseFileFolder, "src")
+
+	return os.MkdirAll(srcFileFolder, testFileMode)
+}
+
+func teardownFolders(baseFileFolder string) error {

Review comment:
       Why have you divided teardown to two methods? 

##########
File path: playground/backend/internal/fs_tool/fs.go
##########
@@ -92,26 +86,17 @@ func (l *LifeCycle) DeleteFolders() error {
 }
 
 // CreateSourceCodeFile creates an executable file (i.e. file.{sourceFileExtension}).
-func (l *LifeCycle) CreateSourceCodeFile(code string) (string, error) {
-	if _, err := os.Stat(l.Folder.SourceFileFolder); os.IsNotExist(err) {
-		return "", err
+func (l *LifeCycle) CreateSourceCodeFile(code string) error {
+	if _, err := os.Stat(l.Paths.AbsoluteSourceFileFolderPath); os.IsNotExist(err) {
+		return err
 	}
 
-	fileName := l.pipelineId.String() + l.Extension.SourceFileExtension
-	filePath := filepath.Join(l.Folder.SourceFileFolder, fileName)
+	filePath := l.Paths.AbsoluteSourceFilePath

Review comment:
       Can we use _lc_ instead of _l_? To make it equal everywhere? 

##########
File path: playground/backend/internal/fs_tool/fs_test.go
##########
@@ -30,132 +28,108 @@ import (
 const (
 	sourceDir       = "sourceDir"
 	destinationDir  = "destinationDir"
+	testFileMode    = 0755
 	pipelinesFolder = "executable_files"
 )
 
-func TestMain(m *testing.M) {
-	err := setupPreparedFiles()
-	if err != nil {
-		logger.Fatal(err)
-	}
-	defer teardown()
-	m.Run()
-}
-
-func setupPreparedFiles() error {
-	err := os.Mkdir(sourceDir, 0755)
+func prepareFiles() error {
+	err := os.Mkdir(sourceDir, testFileMode)
 	if err != nil {
 		return err
 	}
-	err = os.Mkdir(destinationDir, 0755)
+	err = os.Mkdir(destinationDir, testFileMode)
 	if err != nil {
 		return err
 	}
 	filePath := filepath.Join(sourceDir, "file.txt")
 	_, err = os.Create(filePath)
-	if err != nil {
-		return err
-	}
-	return nil
+	return err
 }
 
-func teardown() {
+func teardownFiles() error {

Review comment:
       Why have you decided to change the method name? _teardown_ is common name 

##########
File path: playground/backend/internal/fs_tool/lc_constructor.go
##########
@@ -30,35 +30,51 @@ func newCompilingLifeCycle(pipelineId uuid.UUID, pipelinesFolder, sourceFileExte
 	baseFileFolder := filepath.Join(pipelinesFolder, pipelineId.String())
 	srcFileFolder := filepath.Join(baseFileFolder, sourceFolderName)
 	binFileFolder := filepath.Join(baseFileFolder, compiledFolderName)
+
+	srcFileName := pipelineId.String() + sourceFileExtension
+	absSrcFileFolderPath, _ := filepath.Abs(srcFileFolder)
+	absSrcFilePath, _ := filepath.Abs(filepath.Join(absSrcFileFolderPath, srcFileName))

Review comment:
       Don't you need to process errors somehow? 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [beam] AydarZaynutdinov commented on a change in pull request #16374: [BEAM-13398][Playground] Split LifeCycle to DTO and business logic

Posted by GitBox <gi...@apache.org>.
AydarZaynutdinov commented on a change in pull request #16374:
URL: https://github.com/apache/beam/pull/16374#discussion_r782782008



##########
File path: playground/backend/internal/fs_tool/lc_constructor.go
##########
@@ -30,35 +30,51 @@ func newCompilingLifeCycle(pipelineId uuid.UUID, pipelinesFolder, sourceFileExte
 	baseFileFolder := filepath.Join(pipelinesFolder, pipelineId.String())
 	srcFileFolder := filepath.Join(baseFileFolder, sourceFolderName)
 	binFileFolder := filepath.Join(baseFileFolder, compiledFolderName)
+
+	srcFileName := pipelineId.String() + sourceFileExtension
+	absSrcFileFolderPath, _ := filepath.Abs(srcFileFolder)
+	absSrcFilePath, _ := filepath.Abs(filepath.Join(absSrcFileFolderPath, srcFileName))

Review comment:
       I guess no. `filepath.Abs()` returns `err` only if `os.Getwd()` returns `err`.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [beam] pabloem commented on pull request #16374: [BEAM-13398][Playground] Split LifeCycle to DTO and business logic

Posted by GitBox <gi...@apache.org>.
pabloem commented on pull request #16374:
URL: https://github.com/apache/beam/pull/16374#issuecomment-1011303063


   lgtm


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [beam] pabloem merged pull request #16374: [BEAM-13398][Playground] Split LifeCycle to DTO and business logic

Posted by GitBox <gi...@apache.org>.
pabloem merged pull request #16374:
URL: https://github.com/apache/beam/pull/16374


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [beam] AydarZaynutdinov commented on pull request #16374: [BEAM-13398][Playground] Split LifeCycle to DTO and business logic

Posted by GitBox <gi...@apache.org>.
AydarZaynutdinov commented on pull request #16374:
URL: https://github.com/apache/beam/pull/16374#issuecomment-1002167791


   R: @KhaninArtur @ilya-kozyrev


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org